有如下C语言程序 void*th_f(void*arg) { printf("Hello World"); pthread_yield(0); } int main(void) { pthread_t tid;

admin2020-03-31  72

问题 有如下C语言程序
  void*th_f(void*arg)
  {
    printf("Hello World");
    pthread_yield(0);
  }
  int main(void)
  {
    pthread_t tid;
    int st;
    st=pthread_create(&tid,NULL,th_f,NULL);
    if(st= =0)
    printf("Oops,I can not createthread\n");
    exit(NULL);
    }
  针对上述程序,下列叙述中哪一个是正确的?(    )

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

答案C

解析 pthread_create(&tid,NULL,th_f,NULL):创建线程后,运行该线程,tn_f线程中调用了pthread_yield(O)。线程tn_f运行后等待该线程退出后挂起自己,将CPU让给其他线程。故本题答案选择C选项。
转载请注明原文地址:https://jikaoti.com/ti/1pA7FFFM
0

最新回复(0)