我有一堆"_isCancelled"
标志的长时间运行的操作
// long running code
if (_isCancelled)
return;
// more code
if (_isCancelled)
return;
// more code
if (_isCancelled)
return;
// etc.
但如果我能以某种方式从“外部”监听线程中止操作,添加更多“长时间运行的代码”会更干净、更容易
例如
-(void)longRunningAsyncOperation
{
@try {
// long running operation
} @catch
{
// if aborted just return
}
}
-(void)cancelOperation
{
// raise an exception on a "listening" thread
}
对这种方法有什么想法吗?可能吗?