C++ 標準ライブラリはstd::mutex (lock, unlock, try_lock)
、マルチスレッド環境で機能する機能を提供します。
Boost::mutex
また、私が見る限り、同じ機能 ( ) を提供するラッパー ライブラリ ( など) についての話を聞いたことがありますlock, unlock, try_lock
。
私の質問は、標準のものよりもそのようなラッパー ライブラリを使用する利点は何ですか?
C++ 標準ライブラリはstd::mutex (lock, unlock, try_lock)
、マルチスレッド環境で機能する機能を提供します。
Boost::mutex
また、私が見る限り、同じ機能 ( ) を提供するラッパー ライブラリ ( など) についての話を聞いたことがありますlock, unlock, try_lock
。
私の質問は、標準のものよりもそのようなラッパー ライブラリを使用する利点は何ですか?
std::mutex
、std::thread
およびスレッド ライブラリのその他の要素は、C++11 でのみ使用できます。boost::mutex
他はC++ 11よりも前です。したがって、C++11 をサポートしていない場合でも使用できるという利点があります。
juanchopanza は質問に対する最も直接的な回答 (+1) に注目しましたが、それらがラップする型にstd::mutex
導入される 1 つのことは、例外の使用です。ほとんどの人/環境/ニーズにとって、それは良いことだと考えられます. 場合によっては、例外依存が必要ない場合があります。その場合/環境では、std::mutex
インターフェイスはオプションまたは望ましいものではない場合があります。
TBB や PPL などの一部のラッパーは、標準ライブラリよりもはるかに多くの機能を提供します。
malloc
.std::thread
= malloc
/を使用しfree
ます。std::vector
/を使用しstd::unique_ptr
ます。