繁体   English   中英

C++11 的 std::thread 与 POSIX 信号量兼容吗?

[英]Is C++11's std::thread compatible with POSIX semaphores?

我想通过使用标准 C++ std::thread 库在我的 C++ 应用程序中使用线程,但是你想使用信号量并且使用 C++20 的信号量是不可能的,我想知道是否 POSIX 信号量 <semaphore.h > 与 C++ STD 的线程兼容,或者我必须更改代码才能使用 POSIX 线程

C++ 标准库将在 POSIX 系统上实现 std::thread 作为 pthread 的包装器,因此使用 <semaphore.h> 会很好。 信号量的实现通常与特定的线程接口无关,尽管 C 标准库可能会同时使用 pthread 进行一些簿记。

出于这个原因,从线程(无论是pthread_t还是 std::thread)调用sem_wait()将具有相同的效果,尽管仅使用 pthread 可能更好,因为它们将是最“兼容”的,尤其是因为您无论如何都只针对 POSIX 系统。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM