[英]Is there a C++ standard library wrapper around or replacement for pthread_sigmask?
在我正在处理的代码库中,所有线程控制都是使用std::thread
和相关对象完成的,而不是直接使用pthread
。
但是,我还没有找到与pthread_sigmask
等效的C ++,所以我想知道是否有一种标准的C ++方法来阻止信号,从而在多线程应用程序中一致地处理信号。
特别是,我想知道是否有办法在没有#include <pthread.h>
情况下使用c++11
来做这个例子
简答:不。
pthread_sigmask
是一个pthread函数,而C ++标准的线程函数库不依赖于特定的线程库。 例如,Windows实现可能会使用Windows API。
如果要使用该功能,则需要包含<signal.h>
并直接使用它。 甚至Boost的例子都是这样做的。
考虑一下你想要做什么,并问自己是否真的想通过依赖非标准功能或概念来打破可移植性。 请记住,线程和信号可能无法很好地协同工作; 看到std :: signal和std :: raise线程安全吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.