We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 1de7012 + d456b4b commit a282044Copy full SHA for a282044
md/05内存模型与原子操作.md
@@ -493,8 +493,8 @@ void writer() {
493
494
void reader() {
495
for (int i = 0; i < 10; ++i) {
496
- if (data.load()) {
497
- std::cout << "读取线程值: " << data.load()->get_value() << std::endl;
+ if (auto sp = data.load()) {
+ std::cout << "读取线程值: " << sp->get_value() << std::endl;
498
}
499
else {
500
std::cout << "没有读取到数据" << std::endl;
@@ -504,7 +504,7 @@ void reader() {
504
505
```
506
507
-很显然,这是线程安全的,`store` 是原子操作,而 `data.load()->get_value()` 只是个读取操作。
+很显然,这是线程安全的,`store` 是原子操作,而 `sp->get_value()` 只是个读取操作。
508
509
我知道,你肯定会想着:*能不能调用 `load()` 成员函数原子地返回底层的 `std::shared_ptr` 再调用 `swap` 成员函数?*
510
0 commit comments