当前位置:首页 > 4444临时 > 正文内容

[30][10][单选]对于如下 C 语言程序

4444临时5个月前 (02-02)

//program Hello/ void * p_th_Hello (void * sq {    printf("Hello World %d, sq";    pthread_exit(0; } {    int main(void    {        pthread_t p_tid[2];        int i, j;        for(i = 0; i < 2; i++        {            j = pthread_create(&p_tid[i], NULL, p_th_Hello, (void*i;            if(j!= 0                printf("Error: thread create\n";        }        exit(0;    } } 上述程序经正确编译链接并运行成功后,下列哪一项结果是正确的?

Hello World 1 Hello World 0

Hello World 1 Hello World 2

Hello World

Hello World 0

答案

Hello World 1 Hello World 0

解析

创建一个新线程需要使用 pthread_create 函数,新创建的线程标识符作为函数值返回,根据题意,对于 0、1 时,线程是正常创建的,所以 printf 输出就是 2 个结果Hello World 0 Hello World 1,当创建一个线程时,它会打印一条消息,然后退出。这些不同信息交互的顺序是不确定的,并且可能在连续运行程序的情况下发生变化。故答案选择 A 选项。


转载请注明出处。

本文链接:http://pythonopen.com/?id=7554

相关文章

[12][21][单选]下列哪一项是执行打开文件操作时由操作系统返回的

文件名文件号文件描述符文件物理位置答案文件描述符解析执行打开文件操作时由操作系统返回的信息是文件描述...

[12][22][单选]下列关于实现创建文件操作的描述中,哪一个是错误的

创建文件操作完成后,该文件得到一个新的文件控制块FCB创建文件操作完成后,操作系统给该文件分配一定的...

[12][26][单选]利用缓冲技术进行设备管理的主要目的是

加速数据传输预防死锁发生匹配高速和低速设备连接不同种类的设备答案匹配高速和低速设备解析缓冲技术是为了...