Как я могу разбудить приостановленную нить, используя только signal () или pthread_kill ()?
Я думаю, что приостановленная нить должна получить какие-то сигналы для активации, но я не знаю, какой сигнал нужно отправить в приостановленную нить.
// Мой терминал
USER32@myLaptop:~/list$ gcc -o ./temp ./temp.c -lpthread
USER32@myLaptop:~/list$ ./temp
Starting Thread...
// Мои коды
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <signal.h>
pthread_t tid;
void *thread_function(void *data){
tid = pthread_self();
write(STDOUT_FILENO, "Starting Thread...\n", sizeof("Starting Thread...\n"));
pause();
write(STDOUT_FILENO, "Success!\n", sizeof("Success!\n"));
}
int main(){
pthread_t pth;
pthread_create(&pth, NULL, &thread_function, NULL);
sleep(1);
pthread_kill(tid, SIGCONT);
pthread_join(pth, NULL);
return 0;
}