• Linux线程之线程池、高并发、线程数 C/C++ pthread 函数库


    高并发的C ++程序,有一个问题就是 最多能有多少线程数?本以为Linux下会有ulimit的限制呢,看了看,没有。可能对于线程数 还真没有限制,比如进程好像是65535个进程数吧(PID的范围);所以写个小程序来看看Linux下C/C++能开多少线程数。

    #include <pthread.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>

    #define MAX_TEST_THREAD 500000
    void * handle(void *data){
    sleep(100);
    pthread_exit(NULL);
    }

    int main(){
    pthread_t pid;
    int i=0;
    printf("Now %d threads will be create!\n",MAX_TEST_THREAD);
    for(;i<MAX_TEST_THREAD;i++){
    pthread_create(&pid,NULL,handle,NULL);
    }
    printf("Thread have been created!\n");
    sleep(1);
    exit(0);
    }

    五万个线程创建时间大约有1-2秒,根据各个计算机配置不同,这个值可能也不同的。50万大约十秒多(关于时间,我是自己估算的,没有写到程序中,只是临时测试而已)。100万大约20秒多。

    所以在高并发的程序中,线程的创建和销毁会费时间的。所以就有了线程池的概念。

    如何用C/C++写一个线程池呢?我也不知道,再学!

    转载请注明出处:http://www.cnblogs.com/ayanmw 多谢

    ------------------------------------------------------------------------------------------------

    一定要专业!本博客定位于 ,C语言,C++语言,Java语言,Android开发和少量的Web开发,之前是做Web开发的,其实就是ASP维护,发现EasyASP这个好框架,对前端后端数据库 都很感觉亲切啊。. linux,总之后台开发多一点。以后也愿意学习 cocos2d-x 游戏客户端的开发。

  • 相关阅读:
    新的学期,新的学习
    织梦最新
    selectd选项跳转链接
    字体统一大小
    js点击后进入到另一个页面的TAB选项中
    织梦套后台
    js获取距离各边的距离
    将时间的秒数转化为分钟数
    jquery手写tab选项卡功能
    js中的定时器
  • 原文地址:https://www.cnblogs.com/ayanmw/p/2405731.html
Copyright © 2020-2023  润新知