是否有一个内置函数可以使线程的一部分不并发运行

Is there a built-in function to make part of a thread not run concurrently?

本文关键字:一部分 并发 运行 线程 有一个 内置 函数 可以使 是否      更新时间:2023-10-16

所以我的问题是,是否有一个内置函数可以使线程的一部分不与pthreads在c++中同时运行,或者我必须自己用令牌或类似的东西来创建一些东西。

您想要的是互斥或互斥。标准C++,不需要pthread。标头仅被称为<mutex>,而类型仅为std::mutex

一个技巧是如何锁定它:std::lock_guard<mutex> lock(yourSshMutex)-这个锁定对象在互斥锁存在时保持锁定,lock_guard::~lock_guard解锁它。这可以防止你在完成时忘记解锁互斥锁。