我是新的多線程,並且正在執行「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'完全不能運行,直到第一個'完成),只需在同一個線程中運行它們即可。 –