哪个网站有适合小学生做的题,南宁平面设计公司,怎样建立小程序,网站建设小程序公众号销售c latch 使用详解
std::latch c20
头文件 #include latch。作用#xff1a;提供了一种机制#xff0c;可以让一个或多个线程等待#xff0c;直到计数器减为零。注意事项#xff1a; latch 为向下计数器#xff0c;即只能减少不能增加或者重置。这也使得其只能单…c latch 使用详解
std::latch c20
头文件 #include latch。作用提供了一种机制可以让一个或多个线程等待直到计数器减为零。注意事项 latch 为向下计数器即只能减少不能增加或者重置。这也使得其只能单次使用同时调用 latch 的成员函数除了析构函数不引入数据竞争在同一个线程中可以多次减少 latch 计数
std::latch 成员函数
count_down以不阻塞的方式减少计数器。try_wait测试内部计数器是否等于零。wait阻塞直至计数器抵达零。arrive_and_wait减少计数器并阻塞直至它抵达零。
使用示例 线程 1 和 线程 2 模拟工作线程在线程 1 以及 2 工作完成之后主线程再继续运行。 #include cstdio
#include latch
#include threadusing namespace std::literals;int main()
{// 初始化 latch 计数为 2std::latch done{2};// 工作线程模拟一些工作std::jthread t1([done](){std::this_thread::sleep_for(100ms);done.count_down();printf(thread1 finish work\n);});std::jthread t2([done](){std::this_thread::sleep_for(100ms);done.count_down();printf(thread2 finish work\n);});// 等待工作线程完成done.wait();printf(all work finished\n);return 0;
}