我有一个包含 a BYTE*
、一个引用计数器和 a的类,CRITICAL_SECTION
它保护它们免受并发访问。
我想用std::tr1::shared_ptr<BYTE>
. MSDN说:
多个线程可以同时读取和写入不同的 shared_ptr 对象,即使这些对象是共享所有权的副本。
一切听起来都很好,直到我发现CRITICAL_SECTION
from 类在它之外被用来“锁定”它并以互斥的方式改变它的内容。好的,它破坏了封装,我想改变它。
我知道shared_ptr
保证内存会被释放,但是写内存时能保证互斥吗?