我是新的多线程,并且正在执行“unix环境下的高级编程”。我无法获得线程执行的顺序。我有以下代码。执行线程的顺序
int err1 = pthread_create(&first, NULL, disp, a);
int err2 = pthread_create(&second, NULL, disp, b);
int err3 = pthread_create(&third, NULL, disp, c);
但是与第三个tid有关的线程先执行,然后是第二个,最后是第一个。不知道这是行为还是出了问题。
Thx! 拉胡尔。
线程的主要点是并行运行,这意味着它们之间没有顺序关系。如果你想在*少数地方订购,你通常使用同步来做到这一点。如果你希望进程在一般情况下是连续的(例如,'second'完全不能运行,直到第一个'完成),只需在同一个线程中运行它们即可。 –