我正在寫一些代碼,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