我遇到了将 while() 循环与阻塞方法结合起来的问题。为了便于查看,我使用了 while(true) + 转义条件。
while(true)
{
//this is my blocking method
BlockingMethod();
//do other things here
//escape condition to get out of the loop
if(escape_condition) { break; }
}
我担心的是,一旦线程进入 while() 循环,它就会卡在阻塞方法上,并且永远不会到达转义条件才能退出。我该如何处理?
另外,我相信我的代码与此等效,对吗?
while(!escape_condition)
{
//this is my blocking method
BlockingMethod();
//do other things here
}
或者线程会在满足入口条件的情况下被阻塞方法卡住,永远不会出去?(这将需要在循环内实现转义条件。)