atomic_flag呢?等待/notify_one在GCC和clang?



我找不到std::atomic_flag(提案P0995R1)的任何新的c++20特性

我查看了gcc状态表,但没有找到任何关于它的信息https://gcc.gnu.org/projects/cxx-status.html

然后我尝试在gcc和clang编译器上编译下面的代码,但这段代码只能在gcc和clang的主干分支上编译

#include <atomic>
#include  <thread>
int main()
{
std::atomic_flag f;
std::thread t([&] 
{
f.wait(false);
std::cout << "gggg" << std::endl;
});
using namespace std::chrono_literals;
std::this_thread::sleep_for(3s);
f.test_and_set();
f.notify_all();
t.join();
std::cout << "Hello World!n";
}

有人知道这个特性的实现状态吗?

这种最新的特性很大程度上依赖于编译器。使用boost:: atomic_flag。它是原始的并且独立于编译器/操作系统

相关内容

  • 没有找到相关文章

最新更新