ios - 我们怎样才能停止线程

标签 ios xcode multithreading ios4 nsrunloop

我正在开发在connectionDidFinishLoading时我的线程正在启​​动的应用程序。

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    [downloadingthread cancel];
    downloadingthread = [[NSThread alloc]initWithTarget:self selector:@selector(startusingthread) object:nil];
    [downloadingthread start];
}

connectionDidFinishLoading被多次调用,所以我想停止下载线程,然后再次开始它。我正在尝试仅执行最后一个线程。请帮助我停止两者之间的线程。

最佳答案

切勿强行停止线程。

您可以使用-[NSURLConnection cancel]停止请求。

您的线程应该在运行循环中,因此如果您中止请求,则可以取消该线程的运行循环,但是...到处创建线程非常昂贵,并且通常有更好的替代方法来解决此问题。

关于ios - 我们怎样才能停止线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8755630/

相关文章:

ios - 在 Swift 中创建一个 JSON 对象

xcode - 最新版本未出现在 Xcode Crashes Organizer 中

c++ - 作为 OpenMP pragma 的结果的中间代码

android - 线程正在卡住 Android 应用程序上的 Activity

objective-c - MKAnnotationView 缩放时不会保持在原位

iphone - 如何在windows 7平台下安装XCODE?

ios - 长时间振动?

php - iPhone 中的推送通知问题

ios - 如何在 Core Plot 中使用多个自定义标签?

C# Backgroundwork 在抛出异常时不调用 e.Error