Programowanie wielowątkowe z biblioteka pthread

0

Witam

Mam pytania odnośnie działania wątków. Mianowicie, jeżeli chcę mieć np 6 wątków to w takiej pętli wykonuję funkcję pthread_create:
for(i=0; i<6, i++)
{
pthread_create(&threadid, 0, funkcja_ktorą_wykonuje_watek, (void*)i);
}

Za pomocą (void)*i, moge dowiedzieć się, który wątek został stworzony, czy pierwszy, czy trzeci itd.
W jaki sposób i czy w ogóle jest to możliwe mogę zrobić tak, by wątki tworzyły się rzeczywiście w kolejności od 0 do 5, bo w takiej postaci tworzy się wątek pierwszy, potem trzeci, następnie czwarty i wraca do drugiego, coś na zasadzie random to działa a potrzebuję to do wizualizacji i taka przypadkowa kolejność odpada. Jak to rozgryźć??

0

Tworzą się w takiej kolejności w jakiej masz w kodzie, ale inna kwestia kiedy który wystartuje. Jeśli chciałbyś żeby wykonywały się po kolei to możesz robić pthread_join (ale wątpie żeby o to ci chodziło).
Możesz od biedy sleepować, ale to słabe rozwiązanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1