侵入性或非侵入性

时间:2010-09-29 08:16:02

标签: c++ multithreading data-structures

我正在编写一个需要稳定性和高性能的多线程服务器应用程序。我正在考虑将Boost用于我需要的一些数据结构。

对于应该是线程安全的并且需要快速访问,插入等的东西来说,侵入式数据结构是更好还是更糟?::::?

1 个答案:

答案 0 :(得分:3)

侵入式数据结构本身并不比非侵入式数据结构更好或更差。

最好的选择是不在线程之间共享数据。如果线程确实需要共享数据,那么第二个最佳选择是只读数据结构,因此不需要同步。

共享数据结构是线程之间的通信路径。因此,您需要仔细考虑直接共享数据结构是否是最佳通信方式。你需要什么数据结构?消息队列是否足够?您是否需要并发访问相同的数据,或者不同的线程访问数据结构的不同部分?

对于侵入式数据结构而言,没有什么比一般多线程使用的替代方案更好或更差。

相关问题