[28][10][单选]对于如下 C 语言程序:
//program Hello/ void * p_th_Hello (void * squ printf("Hello World %d, squ"; pthread_exit(0; int main(void int pthread_t pid[3]; int i; for(i = 0; i < 3; i++ pid[i] = pthread_create(&pthread_t[i], NULL, p_th_Hello, (void*i; exit(0; 上述程序经正确编译链接并运行成功后,下列哪一项结果是正确的
Hello World
Hello World 0 1 2
Hello World Hello World Hello World
Hello World 1 Hello World 0 Hello World 2
答案
Hello World 0 Hello World 1 Hello World 2
解析
创建一个新线程需要使用 pthread_create 函数,新创建的线程标识符作为函数返回值,根据题意,等于 0、1、2 时,线程是正常创建的,所以程序运行 3 次,那么 printf 打印出就是 4 个结果Hello World 0 Hello World 1 Hello World 2,答案选 D。
转载请注明出处。