自己编写的threadpool(http://www.oschina.net/code/snippet_102078_2072或者http://jaff20071234.download.csdn.net/),没有正规的文档,只能自己编写程序进行性能测试了。
1。
创建一个threadmanage对象只含有10个线程,同时运行10000个任务,每个任务的工作是循环50次打印字符串。
创建一个threadmanage对象只含有100个线程,同时运行10000个任务,每个任务的工作是循环50次打印字符串。
两次运行的时间差距不大,均需要30多秒,说明此时受到了处理器资源的限制。
测试代码如下:
2。
创建一个threadmanage对象只含有10个线程,同时运行10000个任务,每个任务的工作是循环50次打印字符串。
另外只在一个主线程中运行50*10000次打印输出,如果运行同样的任务,按照上面的思路去理解,需要的时间应该要少,
因为是直接调用运行,不需要经过多次函数调用,信号等待,和任务等待等等。
但是从另外一个角度,此时只有一个线程运行,运用的处理器资源少,所以需要时间要长,结果是45秒左右。
测试代码如下:
随便测试了一个100000个任务时,就恐怖了,从上完厕所回来,只执行了20000个,哎,分布式的服务器才会满足n多用户
时的需求吧 ~~~