我正在编写一个线程,如果按下按钮,该线程应该停止。
这意味着对于我执行的每个操作,我还想检查是否设置了停止标志,以便可以正确停止。
这是一段应该更清楚的代码:
while([self checkForDrop] != 0 && STOP == FALSE){
sleep(0.4);
} if (STOP == TRUE){
return 99;
}
ret = [self doSomething]
if(ret == 0){
[self updateStatus]
} else {
printf("%d", ret) // Print error
}
ret = [self doSomethingElse]
if(ret == 0){
[self updateStatus]
} else {
printf("%d", ret) // Print error
}
... and so on ...
每次执行某项操作时,我还要检查是否满足条件(STOP == TRUE)
,如果满足,则程序应返回99并停止。
我可以为每一行写一个if语句,但这会使代码不可读且丑陋。我想我不是唯一一个偶然发现这个问题的人,所以应该有一个更好的方法。