cre*_*wit 7 c c++ multithreading pthreads thread-safety
这是一个设计问题,一直困扰着我一段时间.实际上非常简单,当您提供数据结构库时,您是构建线程安全原语还是仅提供构造并让系统使用它来决定如何实现实际操作.
一个简单的例子,一个支持Producer,Consumer模型的循环缓冲区.2方法,获取和写入,每个更新全局变量填充计数.现在,您是否只是提供互锁来锁定并让使用缓冲区的代码获取互斥锁,或者在内部进行锁定并提供开箱即用的互斥.
STL似乎采取外部方法,但有性能原因,为什么你想要提供更细粒度的锁定.
想法?