次のコードを使用してタスクを実行しています。
mTimerForImageUpload = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);
if (mTimerForImageUpload) {
dispatch_source_set_timer(mTimerForImageUpload, dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC * uploadCheckInterval), NSEC_PER_SEC * uploadCheckInterval, leeway);
dispatch_source_set_event_handler(mTimerForImageUpload, ^{
[self uploadData];
});
dispatch_resume(mTimerForImageUpload);
}
uploadData
基本的に、メソッドのインスタンスを同時に 1 つだけ実行したいと考えています。つまり、タスクがまだ実行されている場合、新しいスレッドを実行したくありませんが、完了するまで待ちたいと思います。
これを行う方法はありますか?