gpt4 book ai didi

iphone - 如何退出 NSThread

转载 作者:可可西里 更新时间:2023-11-01 17:12:14 27 4
gpt4 key购买 nike

我正在使用这样的线程,

[NSThread detachNewThreadSelector:@selector(myfunction) toTarget:self withObject

线程运行正常,我想中途退出线程,怎么办。如果我使用[NSThread exit]应用程序挂了。

最佳答案

你在哪个线程中运行“[NSThread exit]”?[NSThread exit] 在当前 线程中运行,因此您需要将其作为myfunction 选择器的一部分进行调用。如果在主线程中调用它,它只会退出主线程。

此外,像这样停止线程也不是一个好主意,因为它会阻止退出清理资源的线程。

myfunction 应该基于与协调线程的共享变量退出。

- (void) myFunction
{
while([someObject stillWorkToBeDone])
{
performBitsOfWork();
}
}

您可以使用“withObject”在协调线程和工作线程之间共享引用。这样,协调线程可以更改共享对象中的实例变量,以便工作线程可以根据这种情况停止工作。

要退出工作线程,协调线程会像这样调用 smth:

[someObject setStillWorkToBeDone:false];

关于iphone - 如何退出 NSThread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/909283/

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