2014-01-20 43 views
1

因此,我想避免在基於Boost的多線程應用程序環境中使用__sync_fetch_and_add時出現未來問題。gcc原子內置函數:多線程環境中的任何已知衝突?

Boost(pthreads)使用的低級線程實現會影響buitins的功能嗎?

+0

海合會的新版本,您可以考慮使用更近[' __atomic'](http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/_005f_005fatomic-Builtins.html#_005f_005fatomic-Builtins)builtins。 –

回答

1

內建函數是內在函數。

他們不會對將在應用程序中使用的庫進行假設。

它沒有辦法干涉。


(在切線:有些庫,如升壓短耳,可選可以使用C++ 11個原子能代替boost::detail::atomic_count(doc)