Java 并发:基本的线程机制
来源:互联网 发布:淘宝客服真的好忙好累 编辑:程序博客网 时间:2024/05/21 19:50
本文非真正原创,算是《Thinking in Java》的笔记吧。
一 实现一个最简单的线程
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() */@Overridepublic 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并发(1) 基本的线程机制
- Java并发之基本的线程机制
- Java并发编程-1 基本线程机制
- 并发(1)基本的线程机制
- Java线程的基本机制
- java并发编程——基本线程机制1
- Java编程思想-并发-基本的线程机制/共享受限资源
- java中的并发:线程的基本使用
- java高并发-线程的基本使用
- 并发的基本机制
- java基本线程机制
- 基本的线程机制
- Java并发编程实践之线程的基本控制
- java 并发机制---线程调用栈
- Java并发编程:线程同步机制
- 【Java基础】线程和并发机制
- 【Java基础】线程和并发机制
- 国外性能测试博客
- 一个用于张量符号计算的Mathematica工具箱package
- 字典树(讲解+模版)
- 第13周项目3--二进制转换
- IOS6 _内置字体库下载,轻松实现字体主体变换
- Java 并发:基本的线程机制
- DOM结构简介
- 线段树小结
- MKNetworkKit 详细介绍
- iOS高效开源类库
- Mathematica张量符号计算工具TTC指南
- python easy_install离线安装方式
- ios 发布
- Android与js交互实例