创建一个线程是有一定代价的,如果系统中需要创建大量短生命周期的线程,则应该使用线程池。在JavaSE5.0版中,新增了创建线程池的Executors类,它提供了一些静态方法用于获得线程池。例如使用newCachedThreadPool()方法创建的线程池可以在没有可用线程时新建一个线程;使用new....
分类:
编程语言 时间:
2015-04-07 19:36:16
阅读次数:
175
package test.thread;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ExecutorTest {
private static int i=0;
private static final int PRINT_COUNT...
分类:
编程语言 时间:
2015-03-31 22:20:51
阅读次数:
168
LinkedBlockingQueue是由链表组成的阻塞队列,先来看demo
public class LinkedBlockingQueueDemo {
public static void main(String[] args) {
ExecutorService es = Executors.newCachedThreadPool();
BlockingQueue queue ...
分类:
数据库 时间:
2015-03-27 22:25:36
阅读次数:
196
1项目架构基本框架5个服务器:2游戏服线程main-server and logic server配置main-serverExecutorService bossExecutor = Executors.newCachedThreadPool(); ExecutorService...
分类:
其他好文 时间:
2015-03-20 18:18:29
阅读次数:
160
Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可...
分类:
编程语言 时间:
2015-03-19 18:47:47
阅读次数:
223
Executor框架Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Executor,Executors,ExecutorService,CompletionService,Future,Callable等。并发编程的一种编程方式是把任务...
分类:
编程语言 时间:
2015-03-19 12:55:58
阅读次数:
240
//创建一个线程ExecutorServiceexecutorService=Executors.newSingleThreadExecutor();Future<String>future=executorService.submit(newCallable<String>(){@OverridepublicStringcall()throwsInterruptedException{Thread.sleep(1000);return"success";}});Syste..
分类:
其他好文 时间:
2015-03-18 06:36:31
阅读次数:
115
Introduction
Callable接口代表一段可以调用并返回结果的代码;
Future接口表示异步任务,是还没有完成的任务给出的未来结果。
所以Callable用于产生结果,Future用于获取结果。
Callable接口:Java 5在concurrency包中引入了java.util.concurrent.Callable 接口,它和Runnable接口很相似,...
分类:
编程语言 时间:
2015-03-17 15:57:22
阅读次数:
197
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.lock...
分类:
编程语言 时间:
2015-03-17 15:55:36
阅读次数:
138
1.Executors类 |-java.util.concurrent.Executors 它可以提供了多种功能的线程池 静态方法: ExecutorService newFixedThreadPool(int nThreads); //创建固定大小的线程池 ExecutorService newC...
分类:
编程语言 时间:
2015-03-07 11:20:24
阅读次数:
179