package o.c.m;
// DisplayMessage.java 文件代码:
// 文件名 : DisplayMessage.java
// 通过实现 Runnable 接口创建线程
class DisplayMessage implements Runnable {
private String message;
public DisplayMessage(String message) {
this.message = message;
}
public void run() {
while(true) {
System.out.println(message);
}
}
}
// GuessANumber.java 文件代码:
// 文件名 : GuessANumber.java
// 通过继承 Thread 类创建线程
class GuessANumber extends Thread {
private int number;
public GuessANumber(int number) {
this.number = number;
}
public void run() {
int counter = 0;
int guess = 0;
do {
guess = (int) (Math.random() * 100 + 1);
System.out.println(this.getName() + " 1111guesses " + guess);
counter++;
} while(guess != number);
System.out.println("** Correct! " + this.getName() + " in " + counter + " guesses.**");
}
}
public class ThreadClassDemo {
public static void main(String [] args) throws InterruptedException {
/*
不停的打印Hello
*/
Runnable hello = new DisplayMessage("Hello");
Thread thread1 = new Thread(hello);
thread1.setDaemon(true);
// 设置线程名称
thread1.setName("hello");
System.out.println("Starting hello thread...");
thread1.start();
/*
不停的打印Goodsbye
*/
Runnable bye = new DisplayMessage("Goodbye");
Thread thread2 = new Thread(bye);
// 设置线程优先级
thread2.setPriority(Thread.MIN_PRIORITY);
// 设置进程线程
thread2.setDaemon(true);
System.out.println("Starting goodbye thread...");
thread2.start();
// 猜数字
System.out.println("Starting thread3...");
Thread thread3 = new GuessANumber(27);
thread3.start();
thread3.join();
// 猜数字
System.out.println("Starting thread4...");
Thread thread4 = new GuessANumber(75);
thread4.start();
System.out.println("main() is ending...");
}
}
09-25
09-25
09-25