入门,定义一个做倒计时的类,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多线程的核心概念、实现方式以及相关工具的使用。 一、多线程基础 1. 线程与进程:在操作系统中,进程是资源分配的基本单位,而线程是程序执行的基本单位。每个进程至少有一个主线程,...
java学习笔记2(多线程)java学习笔记2(多线程)
多线程学习笔记 iOS开发中,多线程是一种常见的技术手段,用于优化应用程序的性能,提升用户体验。多线程的核心是让程序能够并发地执行多个任务,合理地利用设备的计算能力,尤其是在拥有多个核心的处理器上。 ...
本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...
Java线程是多任务编程的重要组成部分,它允许程序同时执行多个独立的代码片段,从而提高程序的效率和响应性。本文将深入探讨Java线程的概念、原理以及如何在实际编程中进行有效管理。 首先,我们要了解操作系统中的...
### Java多线程学习笔记 #### 一、线程的基本概念 在计算机科学中,**线程**(Thread)是程序执行流的最小单位。一个标准的程序只能做一件事情,而通过多线程技术,可以让程序同时处理多个任务。在Java中,线程是...
这份"Java入门学习笔记"涵盖了imooc网站上Java入门课程的三个赛季的内容,旨在为初学者提供一个全面的学习资源。 笔记的第一部分是"Java入门第一季学习笔记",它可能包括Java的基础概念和语法。这部分可能会讲解...
花费了一上午的时候 写了一些demo。认识到四种线程池的区别。上传到csdn 供以后学习
【Java学习笔记Markdown版】是针对Java初学者和进阶者的一份详尽教程,以Markdown格式编写,便于阅读和整理。Markdown是一种轻量级的标记语言,它允许用户使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML...
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。
Java学习笔记 Java是一种流行的编程语言,广泛应用于Android应用程序开发、Web应用程序开发、桌面应用程序开发等领域。以下是Java学习笔记的摘要信息: 一、Java技术基础 * 1.1 编程语言:Java是一种面向对象的...
java基础:多线程学习笔记
"Java学习笔记——良葛格"是一份专为初学者设计的教程资料,由良葛格精心编写,旨在帮助读者掌握JDK5.0版本的Java基础知识。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、调试器和运行环境等...
这篇“Java线程编程学习笔记(二)”很可能是对Java并发编程深入探讨的一部分,特别是涉及多线程示例的实践应用。我们将从标题、描述以及标签来推测可能涵盖的知识点,并结合"Multi-Threads Demo"这一压缩包文件名来...
Java开发学习笔记主要针对的是初学者,旨在帮助他们掌握Java编程的基础知识。下面将详细讲解Java开发中的核心概念和步骤。 一、Java环境变量设置 在开始Java编程之前,我们需要安装Java Development Kit (JDK)并...
这篇文档和源代码将深入探讨Java多线程的各个方面,旨在帮助学习者掌握这一关键技术。 首先,我们要了解Java中创建线程的两种主要方式:继承Thread类和实现Runnable接口。继承Thread类时,我们需要重写run()方法,...
Java并发编程学习笔记,研究JAVA并发多线程编程的一本教程,使用并发技术可以开发出并行算法,充分利用多处理器的计算能力,避免硬件资源浪费。目前,在JAVA并发编程方面的论述系统且内容详实的技术资料不太多,Java...