有如下C语言程序。 void * th_f(void * arg) {printf("Ni Hao"); pthread_yiled(0); int main(void) { pthread_t tid; int at: at==pthread_creat

admin2022-06-21  29

问题 有如下C语言程序。
void * th_f(void * arg)
{printf("Ni Hao");
pthread_yiled(0);
int main(void)
{
pthread_t tid;
int at:
at==pthread_create(&rid,NULL,th_f,NULL);
if(at==0)
printf("I can not create thread\n");
exit(NULL);}
针对以上程序,pthread_yiled的意义是(          )。

选项 A、线程th_f运行后主动退出
B、线程th_f运行后等待一个特定的线程退出
C、线程th_f运行后主动释放CPU给其他线程
D、线程th_f运行后成为僵尸

答案C

解析 题目程序在main()函数中调用pthread_create()函数创建一个新线程,设置新线程的入口函数为th_f,所以新线程创建后执行th_f函数,在th_f函数中输出Ni Hao,接着调用pthread_yield()函数,pthread_yield()函数是用来释放CPU来运行另外一个线程。因此,本题答案选择C选项。
转载请注明原文地址:https://jikaoti.com/ti/MIl7FFFM
0

相关试题推荐
最新回复(0)