gpt4 book ai didi

c - 线程内的 while 循环导致程序阻塞 (C)

转载 作者:行者123 更新时间:2023-11-30 20:09:13 25 4
gpt4 key购买 nike

线程的要点是能够同时运行多个代码块。当这种可能性出现在我脑海中时,我首先想到的是同时运行两个无限循环。在我尝试让它与两个线程一起工作之前,我尝试让它与一个线程一起工作,但没有成功。

所以我有一个这样的线程:

void *myThread(void *args) {
sleep(0.1);
while (1) {

}
return NULL;
}

我正在像这样创建线程:

pthread_t thread_id;
printf("Before Thread\n");
pthread_create(&thread_id, NULL, myThread, args);
pthread_join(thread_id, NULL);
printf("After Thread\n");

当我运行这个时,“After Thread”不打印!为什么会发生这种情况?这对我来说毫无意义。

最佳答案

因为pthread_join(thread_id, NULL);等待线程完成。运行 while (1) {} 循环的线程永远不会结束。

关于c - 线程内的 while 循环导致程序阻塞 (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53420666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com