我需要一个InterlockedExchange的等价物,我可以用它来为字符串分配一个字符串.这个等价物应该可以在c ++中使用.我知道我可以开始实现我自己的基于互斥锁的解决方案,但是想知道是否有任何准备和优雅的东西.
谢谢.
恐怕不是.重点InterlockedExchange是它(原子地)在单个32位或64位(具有64位版本)值上工作.字符串涉及内存分配,内存复制和边界检查,因此无法通过这种方式实现.
我估计,你得到的最接近的是通过交换两个字符串指针,使它们指向不同的东西(已经分配).但即便如此,你怎么知道那个字符串的内容没有被写入?