gpt4 book ai didi

c - 为什么我的 pthread 函数没有打印出我所期望的结果?

转载 作者:行者123 更新时间:2023-12-02 13:24:13 26 4
gpt4 key购买 nike

我是线程编程新手,正处于学习 C 线程编程的阶段。

这段简单的代码可以编译并运行,但我以为它会打印出“hello world”和数字 8,但事实并非如此。有谁知道这是什么原因吗?

void *threadfunc(void *input_data){  
printf("Hello World");
long tid;
tid=(long)input_data;
printf("thread ID: &d", tid);
return NULL;
sleep(1);
}
int main(){

long t = 8;
int t1;
pthread_t thread_obj;
t1= pthread_create(&thread_obj, NULL,threadfunc, (void*)t);
}*

提前致谢! :)

最佳答案

首先,您可能想调用pthread_joinpthread_create之后的某处。如果您不这样做并且主线程退出,则很有可能新线程将没有机会运行

换句话说,一旦线程退出,它们都会退出 - 该进程不会“等待”其他线程。

<小时/>

您可能还想在 printf 调用中添加换行符。

关于c - 为什么我的 pthread 函数没有打印出我所期望的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12216367/

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