/**
* 一段模拟龟兔赛跑的多线程程序。
* 兔子比乌龟快5倍,但休息的时间长10倍。
*
* @author 赵学庆,Java世纪网(java2000.net)
*
*/
public class T {
public static void main(String[] args) {
TortoiseRace a = new TortoiseRace();
Thread runner1 = new Thread(a);
RabbitRace b = new RabbitRace();
Thread runner2 = new Thread(b);
runner1.start();
runner2.start();
while (ready 2) {
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
synchronized (lock) {
lock.notifyAll();
}
}
static Object lock = new Object();
static int ready = 0;
}
class TortoiseRace implements Runnable {
public void run() {
synchronized (T.lock) {
T.ready++;
try {
T.lock.wait();
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
int TortoiseDistance = 0;
for (int i = 0; TortoiseDistance = 1000; i++) {
TortoiseDistance++;
System.out.println(乌龟跑了1米!);
try {
Thread.sleep(1);
} catch (InterruptedException e) {
}
}
System.out.println(乌龟已经跑完了比赛路程!);
}
}
class RabbitRace implements Runnable {
public void run() {
T.ready++;
synchronized (T.lock) {
try {
T.lock.wait();
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
int RabbitDistance = 0;
for (int j = 0; RabbitDistance = 1000; j++) {
RabbitDistance += 5;
System.out.println(兔子跑了5米!);
try {
Thread.sleep(10);
} catch (InterruptedException e) {
}
}
System.out.println(兔子跑完了比赛路程!);
}
}
分享到:
相关推荐
一段模拟龟兔赛跑的多线程程序,兔子比乌龟快5倍,但休息的时间长10倍。
要求: 能设置比赛时间,马匹的数量等等。 在任意时间段内马匹的速度是随机的。 开始比赛之后以动画显示赛马过程。 提示:使用多线程
本示例中的"Visual Studio 2008创建的龟兔赛跑动画多线程程序演示"是一个很好的教学实例,它结合了编程语言C#与微软的开发环境Visual Studio 2008,来展示如何利用多线程技术来实现动态的图形化应用程序。...
本示例中的“java线程龟兔赛跑”是一个经典的多线程应用,通过模拟龟兔赛跑的故事,帮助开发者理解如何在Java中创建和管理线程。 首先,我们要了解Java中创建线程的两种主要方式:通过继承`Thread`类和实现`...
在编程世界中,"龟兔赛跑"是一个经典的多线程示例,它源自于一个古老的故事,通过编程实现来教育我们关于线程同步和协作的重要性。在这个Java源码中,我们将深入探讨如何利用线程来模拟故事的情节,以及在Java中如何...
"java多线程龟兔赛跑程序.zip"是一个示例项目,它使用Java语言来实现经典的龟兔赛跑故事,以帮助开发者理解如何在多线程环境下进行编程。这个项目可能包含了源代码、测试文件以及其他相关文档,其主要目标是演示如何...
本文将探讨Java多线程机制在实际应用中的一个有趣案例——龟兔赛跑程序的设计与实现。 首先,让我们简要回顾Java多线程机制的基本概念。多线程是指在同一个程序中允许同时运行多个线程执行不同的任务,从而提高程序...
赛马游戏,基于多线程技术实现的龟兔赛跑模拟器,提供了丰富的自定义选项,如比赛时间、参赛马匹数量等。这样的程序设计旨在展示并发编程的应用,特别是线程间的协作与竞争,以及如何通过多线程来实现动态且实时的...
这个"简单的龟兔赛跑,运用多线程,在jdk8编写"的示例是基于经典的寓言故事,通过多线程来模拟龟兔赛跑的过程。下面将详细介绍这个例子中的相关知识点。 1. **线程基础**: - **线程**:线程是操作系统分配CPU时间...
2. 模拟龟兔赛跑:用图形用户界面实现,能设置比赛时间,马匹的数量等等。在任意时间段内马匹的速度是随机的。 知识点:图形用户界面编程、多线程。 3. 学生信息管理系统:使用图形用户界面用数据库建立1或2个学生...