0

2 つのスレッドに 2 つの値のセットがあります。たとえば、1 番目のスレッドには奇数があり、2 番目のスレッドには偶数がありますが、1,2,3,4 のような値を出力したいと思います.....代わりにスレッド値を印刷する方法???

NSThread* myThread = [[NSThread alloc] initWithTarget:self selector:@selector(myThreadMainMethod:) object:nil];

[myThread setThreadPriority:1];
NSThread* myThread2 = [[NSThread alloc] initWithTarget:self selector:@selector(myThreadMainMethod2:) object:nil];

[myThread2 setThreadPriority:1];
[myThread start];  // Actually create the thread

[myThread2 start];  // Actually create the thread

ありがとう。

4

1 に答える 1

1

スレッドに出力を順序付けて実行させたい場合(これは非常に悪い考えのようです)、スレッドをイベントと同期して、シーケンスの次のステップを実行するように相互に信号を送る必要があります。

ただし、これにより、そもそもスレッドを持つことのすべての利点が失われます。順序付けられた数列を印刷する場合は、GUIスレッドで実行してください。

スレッド環境で行うのが理にかなっている作業の場合、実際の並列処理を実現するために、他のスレッドによって行われる他の作業にできるだけ依存しないように分割します。

同期が多すぎるスレッドで処理を行うと、本質的にシリアルで実行されるため、意味がありません。

于 2012-10-05T07:39:19.593 に答える