java 多线程用例sample
来源:互联网 发布:鬣狗难过岔路口 知乎 编辑:程序博客网 时间:2024/06/03 20:32
1。 用Executors创建threadpool ,并交由ExecutorService来管理。然后调用ExecutorService.submit 来执行具体的task返回是Future,同坐Future.get(). 便可以 拿到Future的返回值。或者是用ExecutorService.invokeAll(Collection<? extends Callable<T>> tasks)来执行tasklist。
Executors 提供如下两个API来创建线程池
public static ExecutorService newFixedThreadPool(int nThreads, ThreadFactory threadFactory):通过threadFactory来创建线程,但线程的数目达到指定数量 后仍有新的task到达,将不会在创建新的线程,而是等待空闲的线程。
public static ExecutorService newCachedThreadPool(ThreadFactory threadFactory): 通过threadFactory来创建线程,如果有空闲的线程会先复用先前的线程, 没有空闲的则会创建新的线程。
eg: ExecutorService qafThreadPool = Executors.newCachedThreadPool(threadFactory);
2。创建线程(继承线程,或者实现ruanable或这callable,实现callable可以有返回值并且可以抛出checked exception)
private class callAbleTask implements Callable<Double[]>{
@Override
public Double[] call() throws Exception {
Double[] d = ****;
return d;
}
}
3。通过Future来取回异步计算的结果。通过 ExecutorService.submit(Callable<Double[]> task)来返回Future 对象。
Future<Double[]> f = ExecutorService.submit(callAbleTask );
4。通过 ExecutorService.invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throwsInterruptedException来执行先前定义好的多个task。
- java 多线程用例sample
- Java多线程Sample 1
- 多线程sample。。
- java nio client sample
- java concurrent code sample
- CICS JAVA SAMPLE
- A sample Java App
- Java Thrift Server Sample
- Java in sample
- 多线程之使用互斥信号量Sample~
- 多线程之使用事件对象Sample。。
- 多线程之使用临界区Sample。。
- Sample Java ORB Protocol Sepcification
- JAVA UDP Server/Client Sample
- sample
- !!!sample
- sample
- 用Sample Grabber捕获视频
- dfsdsf
- android apk文件下载
- JNI (一)
- 正确理解cap 理论
- adb shell 无法启动 (insufficient permissions for device)
- java 多线程用例sample
- memcached线程分析
- 理解#define SREG (*(volatile unsigned char *)0x5F)
- 控件的几种绑定方式
- android问题多多
- linux下获取系统时间
- #include命令的格式和功能各是什么?使用尖括号和双引号在含义上有什么区别?
- 操作系统 “滴答”
- 修改 ArcGIS Server Cache 默认目录