Java 并发:基本的线程机制
2013-11-20 19:47
357 查看
本文非真正原创,算是《Thinking in Java》的笔记吧。
參考:
http://www.cnblogs.com/adm1989/p/3293233.html
http://jiahua8859-163-com.iteye.com/blog/988193
一 实现一个最简单的线程
public class LiftOff implements Runnable{ protected int countDown = 10; private static int taskCount = 0; private final int id = taskCount++; public LiftOff() {} public LiftOff(int countDown) { this.countDown = countDown; } public String status() { return "#" + id + "(" + (countDown > 0 ? countDown : "LiftOff!") + ")"; } /* (non-Javadoc) * @see java.lang.Runnable#run() */ @Override public void run() { while (countDown-- > 0) { System.out.println(status()); Thread.yield(); // 告诉CPU可以进行线程切换。 } } }然后,你以后再调用以下代码就可以开启一个新线程。下面代码调用t.start()函数之后就会执行 LiftOff类的run函数。
Thread t = new Thread(new LiftOff()); t.start();
二 线程池的使用
线程池可以提高资源的利用率,重复利用旧线程。还会从缓存中移除60秒未调用的线程。代码示例如下:private static void testExecutorService() { ExecutorService executorService = Executors.newCachedThreadPool(); for (int i = 0; i < 10; i++) { executorService.execute(new LiftOff()); } executorService.shutdown(); }
三 排队线程:SingleThreadExecutor
SingleThreadExecutor可以被提交多个Thread,但是一次只能执行一个线程,且线程要按照先进先出的执行依次。代码示例如下:private static void testSingleThreadExecutor() { ExecutorService executorService = Executors.newSingleThreadExecutor(); for (int i = 0; i < 10; i++) { executorService.execute(new LiftOff()); } executorService.shutdown(); }
四 还有FixedThreadPool
顾名思义,就是同时只能执行固定个数的线程。參考:
http://www.cnblogs.com/adm1989/p/3293233.html
http://jiahua8859-163-com.iteye.com/blog/988193
相关文章推荐
- Java并发-基本的线程机制
- 【JAVA并发】基本线程机制
- Java并发操作——基本的线程机制
- Java并发(1) 基本的线程机制
- java基本线程机制
- 深入理解Java并发机制(5)--线程、中断、Runnable、Callable、Future
- 【java并发编程实战】-----线程基本概念
- 【java多线程与并发库】---传统java多线程<1>线程基本概念
- 深入理解Java并发机制(5)--线程、中断、Runnable、Callable、Future
- 并发基础(八) java线程的中断机制
- 【Java并发编程实战】-----线程基本概念
- java高并发-线程的基本使用
- 从头认识java-17.2 基本的线程机制(2)-Executors的使用
- 【Java并发编程实战】-----线程基本概念
- 【java多线程与并发库】---传统java多线程<1>线程基本概念
- 深入理解Java并发机制(5)--线程、中断、Runnable、Callable、Future
- 从头认识java-18.2 基本的线程机制(3)-线程的返回与sleep
- 并发编程—— Java 内建线程机制【上】
- 从头认识java-18.2 基本的线程机制(5)-守护线程与非守护线程
- 从头认识java-18.2 基本的线程机制(8)多线程的异常捕捉