入门,定义一个做倒计时的类,Counter,该类实现了Runnable接口,
package com.woxiaoe.study.thread;
/**
* 倒计时类
* @author 小e
*
* 2010-4-19 下午09:12:02
*/
public class Counter implements Runnable {
private int countNum;
private static int taskCount = 0;//线程id
private final int taskId = taskCount++;
public Counter(int countNum) {
this.countNum = countNum;
}
public String show(){
return "Id[" + taskId + "] countNum:" + countNum + " ";
}
@Override
public void run() {
while(countNum-- > 0){
System.out.print(show());
Thread.yield();
}
}
}
测试代码,通过Thread来调用
package com.woxiaoe.study.thread;
import java.util.Random;
import junit.framework.TestCase;
public class TestCounter extends TestCase {
public void testThread(){
for(int i = 0; i < 5 ; i++){
new Thread(new Counter(10)).start();
}
}
}
通过ExecutorService调用
public void testExecutor(){
ExecutorService exec = Executors.newCachedThreadPool();
for(int i = 0; i < 10 ; i++){
exec.execute(new Counter(10));
}
exec.shutdown();
}
Output:
Id[1] countNum:9 Id[0] countNum:9 Id[3] countNum:9 Id[2] countNum:9 Id[0] countNum:8 Id[1] countNum:8 Id[3] countNum:8 Id[1] countNum:7 Id[4] countNum:9 Id[1] countNum:6 Id[3] countNum:7 Id[3] countNum:6 Id[1] countNum:5 Id[3] countNum:5 Id[1] countNum:4 Id[3] countNum:4 Id[1] countNum:3 Id[3] countNum:3 Id[1] countNum:2 Id[3] countNum:2 Id[1] countNum:1 Id[3] countNum:1 Id[1] countNum:0 Id[3] countNum:0 Id[2] countNum:8 Id[2] countNum:7 Id[2] countNum:6 Id[2] countNum:5 Id[2] countNum:4 Id[2] countNum:3 Id[2] countNum:2 Id[2] countNum:1 Id[2] countNum:0
分享到:
相关推荐
Java 线程学习笔记 Java 线程创建有两种方法: 1. 继承 Thread 类,重写 run 方法:通过继承 Thread 类并重写 run 方法来创建线程,这种方法可以使线程具有自己的执行逻辑。 2. 实现 Runnable 接口:通过实现 ...
Java线程:概念与原理 2 一、操作系统中线程和进程的概念 2 二、Java中的线程 3 三、Java中关于线程的名词解释 3 四、线程的状态转换和生命周期 4 Java线程:创建与启动 7 Java线程:线程名称的设定及获取 10 Java...
多线程学习笔记,通过平时的学习所做的一些笔记,希望对广大同仁有所帮助
java学习笔记2(多线程)java学习笔记2(多线程)
NULL 博文链接:https://baobeituping.iteye.com/blog/1190260
花费了一上午的时候 写了一些demo。认识到四种线程池的区别。上传到csdn 供以后学习
多线程学习笔记,好资源。包括线程基础等知识多线程学习笔记,好资源。包括线程基础等知识
Java并发编程学习笔记,研究JAVA并发多线程编程的一本教程,使用并发技术可以开发出并行算法,充分利用多处理器的计算能力,避免硬件资源浪费。目前,在JAVA并发编程方面的论述系统且内容详实的技术资料不太多,Java...
这篇文档和对应的源代码 博文链接:https://interper56-sohu-com.iteye.com/blog/172303
java学习笔记5(java多线程)java学习笔记5(java多线程)
基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码....
线程的基本概念 线程的创建和启动 线程的调度和优先级 线程的状态控制 线程同步
JAVA多线程学习笔记整理(csdn)————程序
java多线程学习笔记02(csdn)————程序
多线程学习笔记,关于创建线程,删除线程等相关指令的应用。
JAVA 程序设计学习笔记是一个详细的学习笔记,涵盖了 JAVA 程序设计的基本概念、语言特征、类库、环境设置、安装等方面的知识点。 1. JAVA 程序设计的基本概念 JAVA 程序设计是一种基于面向对象编程(Object ...
"java深入学习笔记.pdf" java是一种广泛应用的编程语言,具有平台独立性、...以上知识点只是java深入学习笔记.pdf中的一部分,java语言有很多其他的特性和应用领域,本文只是对java语言的基本概念和知识点进行了概述。
Java学习笔记 Java是一种流行的编程语言,广泛应用于Android应用程序开发、Web应用程序开发、桌面应用程序开发等领域。以下是Java学习笔记的摘要信息: 一、Java技术基础 * 1.1 编程语言:Java是一种面向对象的...