2010-11-18 4 views
2

私は、接続、スロットル除去、信号放射などの確立がスレッドセーフであることを望んで、xlobjectsからboost :: signals2を私のシグナル/スロットのフレームワークに切り替えています。私はスレッド間信号の放出には全く関心がありません。boost :: signals2の性能

簡単な質問は、boost :: signals2 thread safeは、例えば2つ以上のスレッドが同じシグナルで接続できるようにすることです。

また、boost :: signals2はxlobjectsに比べてパフォーマンス上のペナルティがありますか?アプリケーションが信号/スロットに大きく依存しないので、これは重要ではありませんが、私はそれにもかかわらず知りたいと思います。

答えて

2

boost.signalでのスレッドの安全性に関して必要な答えはすべてthe documentationです(短い答え:はい、boost:signals2はスレッドセーフです)。パフォーマンスに関しては、スレッドセーフティはコストがかかりますが、確かめるにはベンチマークが1つしかありません。

3

ブースト信号2はスレッドセーフです。

何らかの理由で余分なパフォーマンスが必要で、シングルスレッドアクセスを保証できる場合は、実際のミューテックスよりもはるかに高速なダミーミューテックスがsignals2ライブラリにあります。

関連する問題