を使用して次のタスクを達成したいNSThread
メイン スレッドと 3 つの workerThread T1、T2、T3 があります。これらはすべてメインスレッドから同時に開始され、メインスレッドにはint size
変数があります。上記の各スレッドが実行されると、次のように出力されます。
//メインスレッドで
- (void) mainFunction{
size = 0;
NSThread* T1 = [[NSThread alloc] initWithTarget:self
selector:@selector(workerThread:)
object:@"T1"];
[T1 start];
NSThread* T2 = [[NSThread alloc] initWithTarget:self
selector:@selector(workerThread:)
object:@"T2"];
[T2 start];
NSThread* T3 = [[NSThread alloc] initWithTarget:self
selector:@selector(workerThread:)
object:@"T3"];
[T3 start];
}
// ワーカー スレッド
- (void) workerThread:(id)obj{
size++;
NSLog(@"Thread:%@--------Size:%d,obj,size)
}
次の出力が必要です。
Thread:T1-------Size:1
Thread:T2-------Size:2
Thread:T3-------Size:3
Thread:T1-------Size:4
Thread:T2-------Size:5
Thread:T3-------Size:6
Thread:T1-------Size:7
Thread:T2-------Size:8
Thread:T3-------Size:9
制御をメインスレッドに戻しますsize=10