有没有这样一个多线程同步等待函数?
有没有这样一个多线程同步等待函数? 要求发出一个信号到其他线程后,自己马上进入等待状态,发出信号和等待是一个原子操作,不可被中断。waitforsingleobject, WaitForMultipleObjects,都达不到要求啊
Thread1.Execute;
begin
while not Terminated do
begin
WaitForMultipleObjects(x, Handles, True, INFINITE);
..............
.....
Event.SetEvent; //发出信号, 通知其它线程
end
end
这里等待和发出信号 不是原子操作, 可能会导致问题。