线程池
ExecutorService exec = Executors.newFixedThreadPool(100);
优点: 1、任务分配简单,任务少的情况下执行效率高 2、线程不需要控制,操作简单
缺点: 1、当每个任务执行时间很长的时候,占用的内存和cpu较多... 2、线程不需要控制,操作简单
推荐用法: 时间要求高效,每个任务的执行时间短,内存无要求,cpu无要求的情况
标准用法: 使用在要处理的任务不确定和随机的情况下,比如说 socket服务器端
阻塞队列
BlockingQueue<String> queue = new ArrayBlockingQueue<String>(10000);
优点: 1、时间上可以控制和计算,内存要求少,cpu要求小,性能不错..
缺点: 1、多线程,线程不好控制..性能调节需要丰富经验...线程数根据机器性能进行调优
标准用法: 生产者消费者模式...对服务器性能有要求的情况下 比如 客户端的请求....和服务器端的处理,也可以是socket服务器...
本人原创文章 @www.javady.com, 转载请标明出处 http://www.javady.com/index.php/73.html