gpt4 book ai didi

ios - break Grand Central Dispatch 运行

转载 作者:行者123 更新时间:2023-11-28 20:23:29 25 4
gpt4 key购买 nike

我用

 dispatch_async(getDataQueue,^{
//do many work task A
dispatch_aysnc (mainQueue, ^{
//do
};
}
)

如果我按返回键,gcd 没有完成它的任务 A,我想打破 dispatch_async。怎么办

最佳答案

你可以使用一个标志在它为假的时候继续工作:

// Somewhere accessible from the task's block and from the view controller
__block BOOL quit = NO;

dispatch_async(getDataQueue,^{
dispatch_aysnc (mainQueue, ^{

if (!quit)
{
// do first thing
}

if (!quit)
{
// do second thing
}

while (!quit)
{
// do lots of things
}

});
});

然后你可以简单地停止后台任务:

quit = YES;

无论如何,这是停止任何后台任务的首选方法,因为它允许任务执行清理,而无需强制终止。

关于ios - break Grand Central Dispatch 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15022301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com