在C中的进程中可以创建的最大线程数
给定任务是查找可以在C的进程中创建的最大线程数。
线程是轻量级进程,可以由调度程序独立管理。由于线程是进程的组成部分,因此可以在一个进程中关联多个线程,并且由于上下文切换比进程轻,因此上下文切换所需的时间更少。
线程比进程需要更少的资源,并且它们还与其对等线程共享内存。操作系统将所有用户级对等线程视为单个任务。创建和终止它们所需的时间更少。
每次执行程序时,输出总是不同的。
在以下程序中使用的方法如下
创建函数void*create(void*)并将其留空,因为它仅演示线程的工作。
在main()函数中,初始化两个变量max=0和ret=0均为int类型,分别存储最大线程数和返回值。
声明类型为pthread_t的变量“th”。
使用条件ret==0运行while循环,然后将ret=pthread_create(&th,NULL,create,NULL);
在循环内迭代max++。
在循环外打印最大。
示例
#include<pthread.h>
#include<stdio.h>
/*保持函数为空
只演示线程的工作*/
void *create ( void *){
}
//main function
int main(){
int max = 0, ret = 0;
pthread_t th;
//迭代,直到返回0
while (ret == 0){
ret = pthread_create (&th, NULL, create, NULL);
max++;
}
printf(" %d ", max);
}输出结果
5741
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短