简单线程系列2-单个worker线程
2012-05-13 19:52
141 查看
代码:
运行结果:
newSingleThreadExecutor: 产生一个ExecutorService对象,这个对象只有一个线程可用来执行任务,若任务多于一个,任务将按先后顺序执行。
当要加入的池的线程(或者任务)超过池最大尺寸时候,则入此线程池需要排队等待。
import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class thdd { public static void main(String[] args) { ExecutorService pool = Executors.newSingleThreadExecutor(); // 创建实现了Runnable接口对象,Thread对象当然也实现了Runnable接口 for (int i = 0; i < 100; i++) { Thread t = new MyThread(); pool.execute(t); } // 关闭线程池 pool.shutdown(); } } class MyThread extends Thread { public void run() { System.out.println(Thread.currentThread().getName() + "正在执行。。。"); } }
运行结果:
pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。 pool-1-thread-1正在执行。。。
newSingleThreadExecutor: 产生一个ExecutorService对象,这个对象只有一个线程可用来执行任务,若任务多于一个,任务将按先后顺序执行。
当要加入的池的线程(或者任务)超过池最大尺寸时候,则入此线程池需要排队等待。
相关文章推荐
- 简单线程系列3-可变尺寸的线程池
- 简单线程系列4-延迟线程池
- posix 线程(一):线程模型、pthread 系列函数 和 简单多线程服务器端程序
- 简单线程系列5-单任务延迟线程池
- 【pthread系列-11】对Pthread线程进行简单的类封装
- apache worker 模块 线程连接数简单介绍
- 简单线程系列1-最简单的线程池
- 【看图说话系列】进程与线程的一个简单解释
- 线程模型、pthread 系列函数 和 简单多线程服务器端程序
- 简单线程系列8-C#+SQL Server 2005测试。
- linux网络编程之posix 线程(一):线程模型、pthread 系列函数 和 简单多线程服务器端程序
- Storm系列(十一)架构分析之Supervisor-管理Worker进程的事件线程
- Storm系列(十一)架构分析之Supervisor-管理Worker进程的事件线程
- 简单线程系列7-Java+Mysql可能会出问题
- java + 线程系列之showThread(一)----简单的线程创建方式有两种
- 简单线程系列1-固定大小的线程池
- 一个简单的线程池工具类——可以实现对单个线程的控制
- c++ 11 多线线程系列-------- 一个最简单而且实用的线程池
- 简单线程系列6-练习单线程查询数据库
- ASP.NET AJAX入门系列(6):UpdateProgress控件简单介绍