Hey guys!
W jaki sposob stworzyc watek na funkcji, która ma kilka argumentów? I czy mozna podac do towrzenia funkcje nalezaca do przestrzeni?
Załóżmy, że mamy kod:
void LLotnisko::wlaczAutooperatora(){
//...
pthread_t watek;
pthread_create(&watek, NULL, wystartujSamolot, chosen, czyszeroki)
//...
}
void LLotnisko::wystartujSamolot(int id, bool czy Szeroki)
{
//...
}
Nie działa z kilku powodów:
pthread_create moze przybrac tylko jeden argument dla funcji a probuję dać mu dwa. Oraz wystartujSamolot(...) nalezy do przestrzeni nawet jak dam:
pthread_create(&watek, NULL, LLotnisko::wystartujSamolot, chosen, czyszeroki)
Nie działa.
Probuje zrobić funkcje globalne, które będą wywoływały wystartuj samolot, mniej więcej tak:
void LLotnisko::wlaczAutooperatora(){
//...
pthread_t watek;
pthread_create(&watek, NULL, wsS, chosen, czyszeroki, lotnisko)
//...
}
void* wsS(void * arg)
{
}
i funkcja wsS wywoływałaby by funkcje wystartujSamolot dla odpowiedniego lotniska. Ale nadal mam problem z liczba argumentów! Myślałem by jakoś zapakować te trzy do tablicy i bawić się z typami, ale przerosło mnie.
Liczę na waszą pomoc!
Kamil