[26][10][单选]对于如下 C 语言程序:
// program Hello World void *p_th_Hello (void *arg { printf("Hello World %d\n", arg; pthread_exit(0; } int main(void { int i; pthread_t tid[3]; for(i = 0; i < 3; i++ pthread_create(&tid[i], NULL, p_th_Hello, (void *i; exit(0; } 该程序经正确编译链接并运行成功后,将得到下列哪一个结果?
Hello World Hello World Hello World
Hello World 0 1 2 3
Hello World
Hello World 0 Hello World 1 Hello World 2
答案
Hello World 0 Hello World 1 Hello World 2
解析
创建一个新线程需要使用 pthread_create(函数,新创建的线程执行函数为函数指针返回,根据题意,对于 0、1、2 时,线程是正常创建的,所以程序运行 3 次,那么 printf(打印出就是 Hello World 0 Hello World 1 Hello World 2。
转载请注明出处。