测试我的笔记本能承受多少个线程创建

/***
*    test how many threads can be created in x86 32 system
*
*         ubuntu 13.0
*
*
*************************************************************/
#include <stdio.h>
#include <pthread.h>

static void test(void *arg);

int main()
{
    pthread_t p;
    pthread_attr_t pattr;
    pthread_attr_init(&pattr);
    pthread_attr_setdetachstate(&pattr, PTHREAD_CREATE_DETACHED);
    int count =0;

    while(pthread_create(&p, &pattr, test, NULL) == 0)
    {
        count++;
    }

    printf("only %d threads can be created\n", count);
    return 0;
}

static void test(void *arg)
{
    while(1)
    {
        //do nothing
    }
}

结果:

only 382 threads can be created

测试我的笔记本能承受多少个线程创建

时间: 2024-08-15 12:49:58

测试我的笔记本能承受多少个线程创建的相关文章

测试servlet学习笔记

操作方法: 1.新建工程: File-->new-->Java Project-->TestServlet(工程名称)-->Finish. 2.加载servlet-api.jar类包: TestServlet(右键)-->Build Path-->Configure Build Path-->Library -->Add External JAR Selection-->(浏览在tomcat的lib目录下找到servlet-api.jar选中后点击打开

测试——我的笔记

叔本华的名言 当你与人接触时,不论是什么样的人,都不要根据他的价值和尊严对他作客观的评价.不要注意他的恶意或狭隘的理解力和荒谬的观念:因为前者容易使你憎恨他,后者则容易使你轻视他. 只要注意他的苦难.他的需求.他的焦虑.他的痛苦,那么,你就常常感到与他息息相关:你会同情他:你所体会到的,就不是憎恨或轻蔑.而是同情怜悯.唯有这种同情怜悯,才是福音所要求于我们的安宁. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2

[笔记]JAVA内存模型与线程

JAVA线程  工作内存  主内存 java内存模型中的八种操作: lock    unlock    read     load     use      assign      store     write 八种基本操作必须满足的规则 volatile 当一个变量被定义成volatile之后,它将具备两种特性 一是保证此变量对所有线程的可见性("可见性"是指当一条线程修改了这个变量的值,新值对于其他线程来说是可以立即得知的.) 二是禁止指令重排序优化(普通的变量仅仅会保证在该方法

java笔记--关于Object类与线程相关的方法

关于Object类中的线程方法 Object类是所有Java类的 父类,在该类中定义了三个与线程操作有关的方法,使得所有的Java类在创建之后就支持多线程 这三个方法是:notify(),notifyAll(),wait(),这几个方法都是用来控制线程的运行状态的. 方法列表如下: notify() : 唤醒在此对象监视器上等待的单个线程 notifyAll() : 唤醒在此对象监视器上等待的所有线程 wait() : 在其他线程时调用此对象的notify()或者notifyAll()方法前,导

linux网络编程学习笔记之五 -----并发机制与线程?

进程线程分配方式 简述下常见的进程和线程分配方式:(好吧,我仅仅是举几个样例作为笔记...并发的水太深了,不敢妄谈...) 1.进程线程预分配 简言之,当I/O开销大于计算开销且并发量较大时,为了节省每次都要创建和销毁进程和线程的开销.能够在请求到达前预先进行分配. 2.进程线程延迟分配 预分配节省了处理时的负担,但操作系统管理这些进程线程也会带来一定的开销.由此,有个折中的方法是,当某个处理须要花费较长时间的时候,我们创建一个并发的进程或线程来处理该请求.实现也非常easy,在主线程中定时,定

linux网络编程学习笔记之五 -----并发机制与线程池

进程线程分配方式 简述下常见的进程和线程分配方式:(好吧,我只是举几个例子作为笔记...并发的水太深了,不敢妄谈...) 1.进程线程预分配 简言之,当I/O开销大于计算开销且并发量较大时,为了节省每次都要创建和销毁进程和线程的开销.可以在请求到达前预先进行分配. 2.进程线程延迟分配 预分配节省了处理时的负担,但操作系统管理这些进程线程也会带来一定的开销.由此,有个折中的方法是,当某个处理需要花费较长时间的时候,我们创建一个并发的进程或线程来处理该请求.实现也很简单,在主线程中定时,定时到期,

quick-cocos2d-x学习笔记【3】——display.newSprite创建精灵

游戏嘛,没图片没画面能叫游戏吗,所以我们还是先看用quick的方式怎么创建精灵. quick的api中对精灵的创建讲解得还是很详细,所以创建起来很简单. display.newSprite(filename, x, y, params) filename:精灵文件名 x:x位置坐标 y:y位置坐标 params:表参数(不常用) 我们创建的时候为了方便,可以添加x,y参数,这样就不用在后面再设置位置了.此外,对于精灵的文件名,我们在使用cocos2dx的时候,都知道有直接从文件读取,也有的是从缓

大话App测试2.0笔记2

耗电测试 分为两种: 1)直接测试一段时间内的耗电的一个具体的值 2)间接测试和耗电相关的数据或场景,从而通过测试和优化,同样能够达到减少耗电量的效果 使用dumpsys命令来查看应用的WakeLock机制以及所拥有的服务运行状态. adb -s <device number> shell dumpsys batteryinfo <package name> 通过过滤自己应用对应的包名,可以看到如下的一些数据. Network :200kb received, 300kb sent

JMeter常用测试元件—学习笔记

线程组 Ramp-Up Period:告诉JMeter达到最大线程数需要多长时间.假定共有10个线程,Ramp-Up Period为100秒,那么JMeter就会在100秒内启动所有线程,并让它们运转.每一个测试线程都会在上一个线程启动10秒之后才开始运行.假定共有30个线程,Ramp-Up Period为120秒,那么线程启动的间隔变为4秒. Ramp-Up参数不能设定得太短,否则在测试的初始阶段会给予服务器过大的压力.Ramp-Up参数也不能设定得太长,否则就会发生第一个线程已经执行完毕,而