2

connectionDidFinishLoading時にスレッドが開始するアプリケーションを開発しています。

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

connectionDidFinishLoadingが複数回呼び出されるので、ダウンロードスレッドを停止してから、もう一度開始します。最後のスレッドのみを実行しようとしています。途中でスレッドを停止するのを手伝ってください。

4

1 に答える 1

0

強制的にスレッドを停止しないでください。

を使用してリクエストを停止し-[NSURLConnection cancel]ます。

スレッドは実行ループ上にある必要があるため、リクエストを中止する場合はそのスレッドの実行ループをキャンセルしますが...あちこちにスレッ​​ドを作成するのは非常に高価であり、多くの場合、この問題に対するより良い代替手段があります.

于 2012-01-06T09:50:11.853 に答える