java 多线程初学(Executor控制器)

Executor控制器是jdk1.5之后新增的工具类。用于作为一个中介来统一管理并发任务。

 1.CacheThreadPool 将为每个任务都开一个线程:

ExecutorService exec = Executors.newCachedThreadPool();
		for (int i = 0; i < 2; i++) {
			final int c = i;
			exec.execute(new Runnable(){

				public void run() {
					// TODO Auto-generated method stub
					System.out.println(c+":"+Thread.currentThread().getName());
				}}
			);
		}
		exec.shutdown();

 shutdown()方法的调用可以防止新任务被提交给Executor

 

2.FixedThreadPool 将使用有限的线程来完成任务,貌似线程池的概念,使用的线程不会超过指定的数量

 

ExecutorService exec = Executors.newFixedThreadPool(1);

3.SingleThreadExecutor 只生成一个线程,所有的任务都会在这一个线程里执行,貌似是顺序执行的。前一个任务执行完成后才会执行后面的任务。这些任务将会形成一个队列的形式。

 

ExecutorService exec = Executors.newSingleThreadExecutor();

4.ScheduledExecutorService 可以替代定时器来做任务分配

 

ScheduledExecutorService scheduExec = Executors  
            .newScheduledThreadPool(1);
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值