第一个例子
package timeprinter;
import java.util.Date;
public class TimePrinter implements Runnable {
int pauseTime;
String name;
public TimePrinter(int x, String n) {
pauseTime = x;
name = n;
}
/**
* @param args
* 当使用 runnable 接口时,您不能直接创建所需类的对象并运行它;必须从 Thread 类的一个实例内部运行它
*
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// TimePrinter tp1 = new TimePrinter(1000, "Fast Guy"); 继承Thread
// tp1.start();
// TimePrinter tp2 = new TimePrinter(3000, "Slow Guy");
// tp2.start();
Thread t1 = new Thread(new TimePrinter(1000, "Fast Guy"));
t1.start();
Thread t2 = new Thread(new TimePrinter(3000, "Slow Guy"));
t2.start();
}
private void start() {
this.run();
}
@Override
public void run() {
while (true) {
try {
System.out.println(name + ":"
+ new Date(System.currentTimeMillis()));
Thread.sleep(pauseTime);
} catch (Exception e) {
System.out.println(e);
}
}
}
}
程序一直不停的执行,结果如下:
Fast Guy:Thu Aug 19 16:13:55 GMT+08:00 2010
Slow Guy:Thu Aug 19 16:13:55 GMT+08:00 2010
Fast Guy:Thu Aug 19 16:13:56 GMT+08:00 2010
Fast Guy:Thu Aug 19 16:13:57 GMT+08:00 2010
Slow Guy:Thu Aug 19 16:13:58 GMT+08:00 2010
。。。
。。。
第二个例子
//扩展java.lang.Thread类
/**
* File Name: TestMitiThread.java
* Created by: IntelliJ IDEA.2010-7-12
* Copyright: Copyright (c) 2003-2006
* Company: Lavasoft( [url]http://lavasoft.blog.51cto.com/[/url])
* Author: leizhimin
* Modifier: leizhimin
* Date Time: 2007-5-17 10:03:12
* Readme: 通过扩展Thread类实现多线程
*/
public class TestMitiThread {
public static void main(String[] rags) {
System.out.println(Thread.currentThread().getName() + " 线程运行开始!");
new MitiSay("A").start();
new MitiSay("B").start();
System.out.println(Thread.currentThread().getName() + " 线程运行结束!");
}
}
class MitiSay extends Thread {
public MitiSay(String threadName) {
super(threadName);
}
public void run() {
System.out.println(getName() + " 线程运行开始!");
for (int i = 0; i < 10; i++) {
System.out.println(i + " " + getName());
try {
sleep((int) Math.random() * 10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println(getName() + " 线程运行结束!");
}
}
main 线程运行开始!
A 线程运行开始!
0 A
main 线程运行结束!
1 A
B 线程运行开始!
0 B
2 A
1 B
3 A
2 B
4 A
3 B
5 A
4 B
6 A
5 B
7 A
6 B
8 A
7 B
9 A
8 B
A 线程运行结束!
9 B
B 线程运行结束!
分享到:
相关推荐
利用JAVA编写的多线程运行实例 压缩文件,可直接运行 ...利用JAVA编写的多线程运行实例 压缩文件,可直接运行利用JAVA编写的多线程运行实例 压缩文件,可直接运行利用JAVA编写的多线程运行实例 压缩文件,可直接运行
Java多线程是Java编程中的重要概念,尤其在并发编程领域有着广泛的...通过对"java多线程实例"的学习,开发者可以深入理解线程的工作原理,提升解决并发问题的能力,这对于开发高并发的网络服务、数据库应用等至关重要。
总结起来,"Java多线程实例图形版"是一个结合理论与实践的教学资源,通过“哲学家就餐问题”这一经典案例,帮助开发者理解多线程的基本概念、并发问题以及解决策略。通过学习这个实例,不仅可以掌握Java多线程编程的...
Java 多线程实例 Java 多线程是Java编程语言的一个重要特性,它使得程序能够在同一时间执行多个任务,从而提高系统效率和资源利用率。本文将深入探讨Java中的线程概念、创建线程的方式以及如何实现线程的并发执行。...
总的来说,这个"java多线程实例"是一个实用的学习资源,它展示了如何利用Java的多线程特性进行高效的网络下载,并通过合理的线程同步和文件操作来实现资源的合并。对于想要深入理解Java多线程和网络编程的开发者来说...
Java多线程是Java编程中的重要概念,尤其在如今的多核处理器环境下,理解并熟练掌握多线程技术对于提高程序性能和响应速度至关重要。本资料详细讲解了Java多线程的原理,并提供了丰富的实战代码,非常适合Java初学者...
在Java编程语言中,多线程是核心特性之一,它允许程序同时执行多个任务,从而提高了应用程序的效率和响应...文档“java多线程实例.docx”可能包含具体的示例代码和详细解释,建议参考学习,以加深对Java多线程的理解。
《哲学家就餐:Java多线程实例图形版》是一个经典的多线程问题,它通过模拟哲学家们在用餐时可能出现的饥饿情况,来探讨和解决并发编程中的资源竞争问题。这个例子源自计算机科学家Edsger W. Dijkstra,他提出了这个...
根据提供的文件信息,我们可以归纳出以下关于Java多线程的经典示例中的关键知识点: ### Java多线程实现方式 在Java中,实现多线程有两种主要的方法:通过继承`Thread`类或者实现`Runnable`接口。 #### 继承...
Java多线程是Java编程中的重要概念,它允许程序同时执行多个任务,提高了程序的效率和响应性。在Java中,实现多线程有两种主要方式:通过继承`Thread`类和实现`Runnable`接口。 1. 继承Thread类: 当你需要创建一...
java多线程例子(1).pdf java多线程例子(1).pdf java多线程例子(1).pdf
Java多线程是Java编程中的重要概念,它允许程序同时执行多个任务,提高了程序的效率和响应性。在Java中,实现多线程有两种主要方式:通过实现`Runnable`接口或者继承`Thread`类。 首先,让我们从创建线程开始。当你...
java多线程实例下载,直接导入到eclipse即可java多线程实例下载,直接导入到eclipse即可java多线程实例下载,直接导入到eclipse即可java多线程实例下载,直接导入到eclipse即可
本文将基于"java 多线程并发实例"这个主题,深入探讨Java中的多线程并发概念及其应用。 首先,我们要了解Java中的线程。线程是程序执行的基本单元,每个线程都有自己的程序计数器、虚拟机栈、本地方法栈,而共享堆...
在Java多线程编程中,理解如何创建和...总的来说,这个例子展示了Java多线程的基本操作,包括创建、启动、管理和通信。理解和掌握这些概念对于进行并发编程是至关重要的,可以帮助开发者构建高效、稳定的多线程应用。