Как я могу снять блокировку потока, когда он спит?
Когда я вызываю pthread_join (), он будет работать нормально, но мне нужно создать более одного потока, и я не могу вызватьpthread_join () из-за их параллелизма.Как я могу решить эту проблему, не вызывая join.
pthread_mutex_t mut1;
pthread_mutex_init(&mut1, NULL);
void* funA(void* arg){
while(pthread_mutex_trylock(&mut1) != 0);
sleep(10);
// resources sharing
pthread_mutex_unlock(&mut1);
pthread_exit(NULL);
}
int main(){
pthread_t id[9];
for(int i = 0; i<9; i++){
pthread_create(&id[i], NULL, &funA, NULL);
}
}