2010-11-18 100 views
2

的性能我正在從xlobjects切換到boost :: signals2作爲我的信號/插槽框架,希望建立連接,threir去除,信號發射等是線程安全的。我根本不感興趣的線程間信號發射。boost :: signals2

所以簡單的問題是:boost :: signals2線程是否安全,例如,兩個或多個線程可以在同一個信號上建立連接?

此外,與xlobjects相比,boost :: signals2會產生性能損失嗎?這並不重要,因爲應用程序不會嚴重依賴信號/插槽,但我仍然想知道。

回答

2

我相信你所需要的關於boost.signal中線程安全的所有答案都在the documentation(簡答:是的,boost:signals2是線程安全的)。關於性能,我認爲線程安全是有代價的,但只有一種方法可以確保:基準測試!

3

boost信號2是線程安全的。

但是,如果由於某種原因需要額外的性能,並且可以保證單線程訪問,那麼signal2庫中會有一個虛擬互斥鎖,它將比真正的互斥鎖快得多。

相關問題