线程池

来源:互联网 发布:汽车维修模拟软件 编辑:程序博客网 时间:2024/05/16 07:47

如果为每个任务都创建一个线程,在大量的任务的时候就不够高效。线程池是管理并发执行任务个数的理想方法。线程池用Executor来表示。用ExecutorService的方法来管理和控制任务。为了创建Executor对象,要使用Executors这个工具类。示例:

package it.cast.threadtest;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;public class ThreadPoolDemo { public static void main(String[] args) {  ExecutorService executor = Executors.newFixedThreadPool(3);  executor.execute(new PrintChar('a', 10));  executor.execute(new PrintChar('b', 10));  executor.execute(new PrintChar('c', 10));  executor.execute(new PrintChar('d', 10));  executor.shutdown();    ScheduledExecutorService eService = Executors.newScheduledThreadPool(1);  eService.scheduleAtFixedRate(new PrintChar('e', 10), 0, 2, TimeUnit.SECONDS); }}class PrintChar implements Runnable{ private char c; private int num; public PrintChar(char c, int num) {  // TODO Auto-generated constructor stub  this.c = c;  this.num = num; } @Override public void run() {  for (int i = 0; i < num; i++) {   System.out.println(i + " : " + c);  }   } }


原创粉丝点击