我正在写一些代码,UI线程需要与后台线程进行网络通信。该代码有效,但它会被认为是线程安全的?这段代码是否是线程安全的?
我就感觉好多了,如果有人经历可能导致我到这个正确的道路......
static Mutex^ mut_currentPage = gcnew Mutex;
static array<unsigned char>^ m_currentPage;
property array<unsigned char>^ Write
{
void set(array<unsigned char>^ value)
{
mut_currentPage->WaitOne();
m_currentPage = value;
mut_currentPage->ReleaseMutex();
}
}
这是.NET的C++代码... :)
关于异常安全性:我真的很惊讶MSDN的Mutex教科书示例甚至不关心通过RAII引入锁定。这看起来像是倒退了十年。 – gimpf 2009-02-07 20:28:26