
给定的任务是在一个进程中找到可以创建的最大线程数
C.
线程是轻量级进程,可以由调度程序独立管理。因为一个线程是进程的一个组件,因此可以关联多个线程
线程相对于进程而言,不仅处理起来更轻便,而且上下文切换所需时间更短。
线程所需的资源较进程少,并且它们还与其同级共享内存。
线程。所有用户级对等线程都被操作系统视为单个任务。较少的它们的创建和终止都需要时间。
每次执行程序时,输出总是不同的。
立即学习“C语言免费学习笔记(深入)”;
下面的程序中使用的方法如下
创建函数 void* create(void *) 并将其留空,因为它仅演示
在 main() 函数中初始化两个 int 类型的变量 max = 0 和 ret = 0分别存储最大线程数和返回值。
声明一个pthread_t类型的变量“th”。
运行条件 ret == 0 的 while 循环并放置 ret = pthread_create (&th,NULL, create, NULL);
在循环内迭代 max++。
在循环外打印 max。
>
示例
#include#include/*Leave the function empty as itonly demonstrates work of thread*/void *create ( void *){}//main functionint main(){ int max = 0, ret = 0; pthread_t th; //Iterate until 0 is returned while (ret == 0){ ret = pthread_create (&th, NULL, create, NULL); max++; } printf(" %d ", max);}
输出
5741
以上就是在C语言中,一个进程内可以创建的最大线程数的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1445408.html
微信扫一扫
支付宝扫一扫