本文主要讲述Java线程基本概念,讲到线程实现方法,线程池,以及线程运行时间统计
分类:
编程语言 时间:
2014-09-06 17:17:03
阅读次数:
304
创建固定大小的线程池 ExecutorService threadPool = Executors.newFixedThreadPool(3);创建缓存线程池 ExecutorService threadPool = Executors.newCachedThreadPool(3);创建单一线程池 ...
分类:
编程语言 时间:
2014-09-05 09:52:11
阅读次数:
286
线程池负责管理工作线程,包含一个等待执行的任务队列。线程池的任务队列是一个Runnable集合,工作线程负责从任务队列中取出并执行Runnable对象。java.util.concurrent.executors 提供了 java.util.concurrent.executor 接口的一个Java...
分类:
编程语言 时间:
2014-09-04 14:41:29
阅读次数:
243
深入Java程序性能调优(阿姆达尔定律、缓存组件、并行开发、线程池、JVM调优)课程讲师:special课程分类:Java核心适合人群:初级课时数量:33课时更新程度:完成用到技术:阿姆达尔定律、缓存组件、并行开发、线程池、JVM调优涉及项目:模式在实际开发中运用深入Java程序性能调优下载: ht...
分类:
编程语言 时间:
2014-09-04 13:20:19
阅读次数:
188
Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办...
分类:
编程语言 时间:
2014-09-03 12:39:56
阅读次数:
305
MINA的底层还是利用了jdk提供了nio功能,mina只是对nio进行封装,包括MINA用的线程池都是jdk直接提供的。MINA的server端主要有accept、processor、session三部分组成的。其中accept主要负责在指定的端口监听,若有新连接则建立一个新的session;processor则负责处理session对应的发送数据和接收数据并调用上层处理;session则缓存当...
分类:
其他好文 时间:
2014-09-03 09:43:06
阅读次数:
299
JDK7引入了Fork/Join框架,所谓Fork/Join框架,个人解释:Fork分解任务成独立的子任务,用多线程去执行这些子任务,Join合并子任务的结果。这样就能使用多线程的方式来执行一个任务。JDK7引入的Fork/Join有三个核心类:ForkJoinPool,执行任务的线程池ForkJo...
分类:
编程语言 时间:
2014-09-02 22:42:05
阅读次数:
284
工程中,某些对象我们只需要一个,比如线程池,缓存,对话框等的对象,我们通常的做法是可以定一个全局静态变量,然后通过程序初始化的时候就实例化他们,然后直接调用这个全局变量,但是这样有个问题,如果我的这个对象消耗的资源很多,而有的时候,我的程序在运行过程中又没用到这个对象,岂不是浪费了很多资源。通常的做...
分类:
其他好文 时间:
2014-09-02 15:36:14
阅读次数:
186
TBOX的线程池通过在每个worker中批量一次拉取多个task,对锁的竞争进行了优化。
由于每个task的函数实现不会太多,所以可以根据每个task的函数地址做hash,统计出每个task执行所花费的平均时间。然后根据这个平均值来动态计算每个worker一次拉取的task的数量,TBOX里面...
分类:
编程语言 时间:
2014-09-02 11:55:44
阅读次数:
223