簡體   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