当前位置:首页 > 文章 > 四级网络工程师 > 正文内容

有如下 C 语言程序

四级网络工程师3个月前 (06-20)
void * th_f(void * arg)
{
printf("Hello World");
pthread_exit(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 create thread\n");
exit(NULL);
}




针对上述程序,下列叙述中哪一个是正确的


程序运行中最多存在 1 个线程

程序运行中最多存在 2 个线程

程序运行中最多存在 3 个线程

程序运行中最多存在 4 个线程


答案    

程序运行中最多存在 2 个线程



解析    



分析如下:

- 初始时,只有主线程存在。

- 当 `pthread_create` 成功执行后,会创建一个新的线程来执行 `th_f` 函数,这时程序中存在主线程和新创建的线程,共计2个线程。

- `th_f` 函数中的 `pthread_exit(0)` 会导致该线程终止,但不会影响已经创建的线程计数;它只是让该线程结束,不再执行其他操作。

- 主线程随后执行 `exit(NULL)`,整个程序终止,所有线程随之结束。


因此,无论在哪一个时间点,该程序中最多同时存在主线程和由 `pthread_create` 创建的子线程,即最多存在 2 个线程。其他选项表明存在更多的线程,这在这个程序的上下文中并不正确。


相关文章

在组成计算机系统的各类资源中,主要包含有硬件部件以及

代码和数据键盘鼠标和显示器操作系统各类应用软件答案    代码和数据解析...

从计算机安全保护角度来看,操作系统的主要作用是提供

人机交互接口软件开发基础平台第一道安全防线虚拟机和扩展机答案    第一道安...

计算机系统中,操作系统作为系统软件集中了下列哪两类主要功能

资源管理和控制程序执行资源管理和硬件控制软件代码的运行和控制硬件接口和人机界面答案  ...

操作系统能够“合理”地组织计算机工作流程、控制程序的执行。其中“合理”是指

尽可能地利用资源,减少内存、硬盘等的浪费使得用户在操作计算机时易用、易学且易维护公平对待不同用户程序...

在操作系统的结构设计中,微内核结构 C/S 表示的是

整体式结构层次结构分布式结构客户机/服务器结构答案    客户机/服务器结构...

组成操作系统的主要部分是存储管理、设备管理、文件管理和

进程线程管理用户管理死锁管理网络管理答案    进程线程管理解析 &nb...