传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操 ...
分类:
其他好文 时间:
2016-06-14 01:03:17
阅读次数:
148
采用Jmeter测试工具对web系统作的负载测试,得出的响应报表,数据比较难懂,现作一具体说明。以下是在一次具体负载测试中得出的具体数值,测试线程设置情况为:线程数:200,等待时间(ramp-up):0秒,循环次数为永远,另:线程组——这些元件用于指定运行的线程数和等候周期。每个线程模拟一个用户, ...
分类:
其他好文 时间:
2016-06-12 21:52:43
阅读次数:
145
在开发中使用线程,经常不经意间就new Thread()一个出来,然后发现,这样做不是很好,特别是很多线程同时处理的时候,会出现CPU被用光导致机器假死,线程运行完成自动销毁后,又复活的情况。 所以在这个时候,就需要使用到线程池。。 线程池就是类似数据库连接池,限定一个规定大小的连接数(线程数),然 ...
分类:
编程语言 时间:
2016-06-08 10:29:57
阅读次数:
176
几乎所有的中文网页都介绍,要修改Tomcat的默认最大并发连接数,应该进行如下设置(实际上这些步骤是错误的): 在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有: minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值 ...
分类:
其他好文 时间:
2016-06-08 08:01:00
阅读次数:
188
Semaphore通常用于限制可以访问某些资源(物理或逻辑的)的线程数目,我们可以自己设定最大访问量。它有两个很常用的方法是acquire()和release(),分别是获得许可和释放许可。 官方JDK上面对Semaphore的解释是这样子的 : 一个计数信号量。从概念上讲,信号量维护了一个许可集。 ...
分类:
编程语言 时间:
2016-06-08 00:13:21
阅读次数:
235
上一节中总结了Semaphore同步工具的使用,Semaphore主要提供了一个记数信号量,允许最大线程数运行。CyclicBarrier是另一个同步工具,这一节主要来总结一下CyclicBarrier的使用。先看一下官方的对CyclicBarrier的介绍:
一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的...
分类:
编程语言 时间:
2016-06-05 23:29:21
阅读次数:
355
Semaphore通常用于限制可以访问某些资源(物理或逻辑的)的线程数目,我们可以自己设定最大访问量。它有两个很常用的方法是acquire()和release(),分别是获得许可和释放许可。
官方JDK上面对Semaphore的解释是这样子的:
一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个acquire(),然后再获取该许可。每个release(...
分类:
编程语言 时间:
2016-06-05 11:12:54
阅读次数:
235
程序功能大概就是爬取每个网页中的图片,并根据标题,分文件保存至指定目录,使用threading实现多线程。 主要流程为每访问一个网页,将此网页中的图片链接依次放入队列,根据图片数量依次开启下载线程,传入队列和编号,然后启动线程开始下载,主线程查询当前正在活动的线程数量,当数量为1的时候,即只剩主线程 ...
分类:
编程语言 时间:
2016-06-04 23:41:22
阅读次数:
316
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看每个物理CPU中c ...
分类:
其他好文 时间:
2016-06-01 19:43:07
阅读次数:
123
目录(?)[-] 本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。 首先讲一下进程和线程的区别: 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。 线程:同一类线程共享代码和数据空 ...
分类:
编程语言 时间:
2016-05-30 21:30:20
阅读次数:
162