0

我的两个线程中有两组值,例如,在我的第一个线程中我有奇数,在第二个线程中我有偶数,但我想打印像 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 回答