Java线程池配置指南
在Java中,线程池是一种常用的并发编程工具,它可以帮助我们有效地管理线程资源,提高程序的性能,合理配置线程池可以显著提升程序的响应速度和吞吐量,本文将详细介绍Java线程池的配置方法,包括核心线程数、最大线程数、线程存活时间、队列类型和拒绝策略等。
线程池配置参数
核心线程数(Core Pool Size)
核心线程数是指线程池在运行过程中始终保持活跃的线程数量,当任务数量超过核心线程数时,线程池会根据需要创建新的线程,配置核心线程数时,需要考虑以下因素:
最大线程数(Maximum Pool Size)
最大线程数是指线程池可以创建的最大线程数量,当任务数量超过最大线程数时,线程池会根据拒绝策略处理多余的请求,配置最大线程数时,需要考虑以下因素:
线程存活时间(KeepAliveTime)
线程存活时间是指空闲线程在终止前可以存活的时间,当线程池中的线程数量超过核心线程数时,空闲线程会等待一段时间后终止,配置线程存活时间时,需要考虑以下因素:
队列类型(Queue)
线程池中的任务队列用于存放等待执行的任务,常见的队列类型有:
拒绝策略(RejectedExecutionHandler)
当任务数量超过最大线程数和队列容量时,线程池会根据拒绝策略处理多余的请求,常见的拒绝策略有:
线程池配置示例
以下是一个使用Executors工厂方法配置线程池的示例:
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;public class ThreadPoolExample {public static void main(String[] args) {// 创建固定大小的线程池ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5);// 创建可缓存的线程池ExecutorService cachedThreadPool = Executors.newCachedThreadPool();// 创建单线程的线程池ExecutorService singleThreadPool = Executors.newSingleThreadExecutor();// 创建一个无界队列的线程池ExecutorService singleThreadScheduledExecutor = Executors.newSingleThreadScheduledExecutor();// 创建一个固定大小的线程池,支持定时及周期性任务执行ExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(5);// 关闭线程池fixedThreadPool.shutdown();cachedThreadPool.shutdown();singleThreadPool.shutdown();singleThreadScheduledExecutor.shutdown();scheduledThreadPool.shutdown();try {fixedThreadPool.awaitTermination(5, TimeUnit.SECONDS);cachedThreadPool.awaitTermination(5, TimeUnit.SECONDS);singleThreadPool.awaitTermination(5, TimeUnit.SECONDS);singleThreadScheduledExecutor.awaitTermination(5, TimeUnit.SECONDS);scheduledThreadPool.awaitTermination(5, TimeUnit.SECONDS);} catch (InterruptedException e) {e.printStackTrace();}}}
问题:如何根据任务类型选择合适的线程池?
解答:对于cpu密集型任务,建议使用核心线程数等于CPU核心数的线程池;对于IO密集型任务,建议使用核心线程数大于CPU核心数的线程池。
问题:为什么有时候线程池中的线程数量会超过最大线程数?
解答:当任务数量超过最大线程数和队列容量时,线程池会根据拒绝策略处理多余的请求,如果使用的是CallerRunsPolicy拒绝策略,那么当线程池满时,任务会由提交任务的线程执行。
QQ旋风下载
旋风算快的啦,给你个方案看看:
512K(传输速度正常为64KB/S) 1M(传输速度正常为128KB/S) 2M(传输速度正常为256KB/S) 4M(传输速度正常为512KB/S) 8M(传输速度正常为1MB/S)
如果您的带宽在4M以下,一定是网通,联通,电信给您算错了。 总之,如果真是这样,赚大了。 好好享受极速宽带吧!
给你几个提高下载速度的解决方案:(NO COPY!!Copyright is for 可乐鱼)
尽量避开上网高峰期(中午11~13,晚上17~23点)下载。
优化配置旋风参数:在下载软件配置项里,磁盘缓存不要太大,太大将占用更多的物理内存,也将影响系统的执行速度,建议内存512M以下的用户设置低于4096K。 线程也要全开。 任务数不要开太多,最好低于3个同时进行的任务。
适时利用“暂停”-“开始”按钮:有时候,任务搜索到的资源超过100个,但是速度却降低了,这个时候,你可以先暂停任务,再开始,让服务器重新搜索资源,这时速度明显上升。 此方法95%有效。 减少下载的同时打开的IE窗口数量:对于TW,IE7,IE8多窗口浏览器用户,不要一次打开太多窗口,内存占用上升将影响下载任务的读写。 关闭进程:这是一个索引服务,为了让你更加快速的查找文件。 这个系统进程很占用系统内存,启动了这个服务是会在电脑空闲的时候建立索引的,所以机器会变慢!强制结束这个进程,过一会还会自动启动。 你可以通过以下的途径取消该服务:打开“我的电脑”-按“搜索”-“改变首选项”-“制作索引服务”-选“不……” ,最后按确定就行了。
减小下载时其他软件的运行。其他软件运行的时候占用一定的资源,使得WINdows自动降低下载工具的资源数(例如CPU处理速度,硬盘端口带宽等等)
如果系统运行速度很慢,有可能存在着病毒,病毒很多都会自我复制,占用大量的系统资源,自然速度变慢;
系统盘空间不够:当物理内存大小不够时,往往windows要在系统盘内划分出一段区域用作虚拟内存。虚拟内存小了,自然变慢;
磁盘碎片过多:系统运行时就要四处搜寻碎片,拼凑在一起,这样加大搜寻范围,减慢了运行速度。 故应该定时运行磁盘碎片整理程序。 但是运行磁盘碎片整理程序时不要让它停止。 NTFS磁盘系统不必整理碎片。
资源数不代表下载速度。 资源速度15以上那么下载速度就和资源数无关了。 资源再多也是那个速度。
使用下载工具时,限制上传速度(推荐:1~5KB/s)可大幅度提高下载速度。
宽带猫等网络设备记住及时散热,温度过高导致内部电路电阻过大,自然下载速度慢。
开始——运行————打开计算机配置中的“管理模板”——打开“网络”——点击“Qos数据报计划程序”(别打开)——双击右面的限制可保留带宽——“已启用”——把下面的数字改为0
使用QQ旋风的XP系统优化工具修改TCP/IP连接数为256或者以上等
金鱼和鲸鱼有什么关系?
金鱼goldfish金鱼的东营头前面有一张嘴,头上有两只圆圆的大眼睛,身体短而肥,鱼鳍发达,尾鳍有很大的分叉。 金鱼也称“金鲫鱼”,是由鲫鱼演化而成的观赏鱼类。 金鱼的品种很多,颜色有红、橙、紫、蓝、墨、银白、五花等,分为文种、龙种、蛋种三类。 金鱼起源于我国,12世纪已开始金鱼家化的遗传研究,经过长时间培育,品种不断优化,现在世界各国的金鱼都是直接或间接由我国引种的。 金鱼易于饲养,形态优美的金鱼能美化环境,很受人们的喜爱,是我国特有的观赏鱼。 价格:1~100元一条。 盆养及池养的观赏鲤科(Cyprinidae)鱼类,学名Carassius auratus。 原产於东亚,但已移殖许多其他地区。 近似鲤鱼(Cyprinus carpio)但无口须。 在中国,至少早在宋朝(960∼1279)即已家养。 野生状态下,体绿褐或灰色,然而现存在著各种各样的变异,可以出现黑色、花色、金色、白色、银白色以及三尾、龙睛、或无背鳍等变异。 几个世纪的选择和培育这样不正常的个体,已经产生了125个以上的金鱼品种。 包括常见的具三叶拂尾的纱翅,戴绒帽的狮子头以及眼睛突出且向上的望天。 杂食性,以植物及小动物为食。 在饲养下也吃小型甲壳动物,并可用剁碎的蚊类幼虫、谷类和其他食物作为补充饲料。 春夏进行产卵,进入这一季节,体色开始变得鲜豔,雌鱼腹部膨大,雄鱼鳃盖、背部及胸鳍上可出现针头大小的追星。 卵附於水生植物上,孵化约需一周。 观赏的金鱼已知可活25年之久,然而平均寿命要短得多。 在美国东部很多地区,由公园及花园饲养池中逃逸的金鱼,已经野化了。 野生後复原了本来颜色,并能由饲养在盆中的5∼10公分(2∼4吋)长到30公分。 金鱼是我国人民乐于饲养的观赏鱼类。 它身姿奇异,色彩绚丽,可以说是一种天然的活的艺术品,因而为人们所喜爱。 根据史料的记载和近代科学实验的资料,科学家已经查明,金鱼起源于我国普通食用的野生鲫鱼。 它先由银灰色的野生鲫鱼变为红黄色的金鲫鱼,然后再经过不同时期的家养,由红黄色金鲫鱼逐渐变成为各个不同品种的金鱼。 作为观赏鱼,远在中国的晋朝时代(265~420年)已有红色鲫鱼的记录出现。 在唐代的“放生池”里,开始出现红黄色鲫鱼,宋代开始出现金黄色鲫鱼,人们开始用池子养金鱼,金鱼的颜色出现白花和花斑两种。 到明代金鱼搬进鱼盆。 在动物分类学上是属于脊椎动物门、有头亚门、有颌部、鱼纲、真口亚纲、鲤形目、鲤科、鲤亚科、鲫属的硬骨鱼类。 金鱼和鲫鱼同属于一个物种,在科学上用同一个学名(Carassius auratus auratus)。 鱼类和人类的关系甚为密切,早在石器时代,人们就捕捉鱼类作为食物。 在距今3200多年前,中国已有了养鱼的记录(根据殷墟出土甲骨卜辞),由于长期的捕鱼、养鱼,同鱼类接触的机会颇多,这也就是对鱼类的观察机会非常之多,了解也多,所以很容易发现在野生鱼类中发生变异的种类,尤其是变为金色或红色的种类更易引起人们的关注。 当时人们把金色或红色的鱼类统称为“金鱼”。 我国明代伟大的本草学家李时珍,在他的《本草纲目》中写有:“金点有鲤鲫鳅数种,鳅尤难得,独金鲫耐久,前古罕知……。 以上可知,称为“金鱼”的鱼原有四种,“金鲫”即颜色变为黄、红的鲫鱼,以后由于单独培育金鲫,变化越来越大,所以,“金鱼”这一名称只代表由金鲫培育出来的各变异品种,即现今的金鱼。 鲸鱼简介[编辑本段]海洋中的巨兽──鲸类动物鲸类的拉丁学名是由希腊语中的“海怪”一词衍生的,由此可见古人对这类栖息在海洋中的庞然大物所具有的敬畏之情。 其实,鲸类动物的体形差异很大,小型的体长只有1米左右,最大的则可达30米以上。 它们中的大部分种类生活在海洋中,仅有少数种类栖息在淡水环境中,体形同鱼类十分相似,体形均呈流线型,适于游泳,所以俗称为鲸鱼,但这种相似只不过是生物演化上的一种趋同现象。 因为鲸类动物具有胎生、哺乳、恒温和用肺呼吸等特点,与鱼类完全不同,因此属于哺乳动物。 鲸鱼一分钟的心跳只有9次。 鲸鱼的特点[编辑本段]鲸类动物的共同特点是体温恒定,大约为35.5℃左右。 皮肤裸出,没有体毛,仅吻部具有少许刚毛,没有汗腺和皮脂腺。 皮下的脂肪很厚,可以保持体温并且减轻身体在水中的比重。 头骨发达,但脑颅部小,颜面部大,前额骨和上颌骨显著延长,形成很长的吻部。 颈部不明显,颈椎有愈合现象,头与躯干直接连接。 前肢呈鳍状,趾不分开,没有爪,肘和腕的关节不能灵活运动,适于在水中游泳。 后肢退化,但尚有骨盆和股骨的残迹,呈残存的骨片。 尾巴退化成鳍,末端的皮肤左右向水平方向扩展,形成一对大的尾叶,但并不是由骨骼支持的,脊椎骨在狭长的尾干部逐渐变细,最后在进入尾鳍之前消失。 尾鳍和鱼类不同,可作上下摆动,是游泳的主要器官。 有些种类还具有背鳍,用来平衡身体。 它们的骨骼具有海棉状组织,体腔内有较多的脂肪,可以增大身体的体积,减轻身体的比重,增大浮力。 它们的眼睛都很小,没有泪腺和瞬膜,视力较差。 没有外耳壳,外耳道也很细,但听觉却十分灵敏,而且能感受超声波,靠回声定位来寻找食物、联系同伴或逃避敌害。 外鼻孔有1—2个,位于头顶,俗称喷气孔,一般鼻孔位置越靠后者进化程度越高。 用肺呼吸,左右各有一叶肺,其中有许多毛细血管,富有弹性,能有助于氧的流通,适应在水面上进行的气体交换,每隔一段时间需要浮出水面来进行换气,也能潜水较长时间。 肋骨有10一20对。 胃分为4个室。 肾脏大多为瘤状。 雄兽的睾丸位于腹腔内。 雌兽在水中产仔和哺乳,子宫为双角形,有一对乳房,位于生殖裂两侧的乳沟内,有细长的乳头,乳汁中含有丰富的钙、磷和大量的脂肪。 幼仔在胚胎期间都具有牙齿,但须鲸类的牙齿到出生的时候则被须所取代,齿鲸类的牙齿则终生保留。 鲸类是一种生活在水中的哺乳动物,他具有和陆上哺乳动物相同的生理特征,例如用肺呼吸、胎生等,更贝备了一些为适应水生环境所演化出的特殊生理构造。 鲸在分类「属于动物界(kingdom Animel)、脊索动物门(phylum Chordata)、哺乳纲(class Mammrha)、鲸目(orderCetacea)。 鲸目之下又区分为两个亚目,分别是须鲸亚目(suborderMysticeti,blaleenwhales)和齿鲸亚日(suborderOdo-ntoceti, toothedwhales) 。 这两大类的分群,再学术上主要是依据它们摄食方式之不同而定,须鲸亚目主要的形态特徵是没有牙齿,但是有具大的鲸须,可用来筛选浮游生物.所以为滤食性。 齿鲸亚目的主要特徵为有牙齿,掠食性,其牙齿的数目与排列方式受到食性的影向会有不同,全世界现存有13科约 79种。 鲸鱼虽然有鱼字,其实它并不是鱼类,而是哺乳类动物,它有许多和鱼类极不相同的特性,例如一般鱼类是左右摆动尾鳍来使身体前进,而鲸鱼却是以上下摆动尾鳍的方式前进。 它们利用前端的鳍状肢来保持身体平衡及控制力向,有些鲸鱼背部的上端还有能保持身体垂直的鳍呢!鲸鱼是群集动物,它们通常成群结队的在海里生活,可是当鲸鱼呼吸时,就需要游到水面上来,这时鲸鱼是利用头上的喷水孔来呼吸,呼气时,空气中的湿气会凝结而形成我们所熟悉的喷泉状。 专家们甚至可以从喷水的高度、宽度及角度,来辨识鲸鱼的种类呢!鲸鱼的种类很多,大致分成齿鲸和须鲸两大类。 鲸鱼的表皮下有著极厚的脂肪层,那就是俗称的鲸油,它可以使鲸体保持温暖,而且也能贮存能量以供应不时之需。 由于鲸鱼体内拥有许多特殊的构造,使它能够长时间的在水中屏庄呼吸、减慢心跳速度,因此当它沈到海底,总要经过一段长时间后,才会再浮出水面。 除了具有贮存氧气的构造外,当身体某个部位需要大量的血液供应时,体内还会有集中供应的特殊机能呢!须鲸喷出的水柱又高又细,齿鲸喷出的水柱又粗又矮,一些农民甚至可以根据水柱来判断鲸鱼的种类呢!














发表评论