小编Dmy*_*nko的帖子

std::call_once 并发调用行为

I\xe2\x80\x99m 尝试执行一次,而 I\xe2\x80\x99m 使用std::call_once来实现这一点。现在,我的问题如下,假设执行的代码需要一段时间才能完成,如果第一个调用者尚未完成\xe2\x80\x99t,那么第二个调用者的行为是什么。

\n

它会立即返回还是会等到第一个完成后再返回。

\n

Ps:两个调用都来自不同的线程,第一次调用会成功。

\n

我做了一个小测试来检查行为。第二个调用在第一个调用完成后返回,但我无法\xe2\x80\x99 找不到任何信息是否来自 C++ 标准

\n

c++

4
推荐指数
1
解决办法
110
查看次数

标签 统计

c++ ×1