package com.newture.HomeWork_;
import java.util.Scanner;
public class HomeWork1 {
public static void main(String[] args) {
A a = new A();
B b = new B(a);//要注意
b.start();
a.start();
}
}
//创建A类线程
class A extends Thread {
private boolean loop = true;
@Override
public void run() {
//输出1-100数字
while (loop) {
System.out.println((int)(Math.random() * 100 + 1));
//休眠1秒
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("a线程退出..");
}
public void setLoop(boolean loop) { //可以修改loop变量
this.loop = loop;
}
}
//直到第二个线程从键盘读取“Q”命令
class B extends Thread {
private A a;
private Scanner scanner = new Scanner(System.in);
public B(A a) {//构造器中,直接传入A类对象
this.a = a;
}
@Override
public void run() {
while (true) {
//接受到用户的输入
System.out.println("请输入你的指令(Q)表示退出:");
char key = scanner.next().toUpperCase().charAt(0);
if (key == 'Q') {
//以通知的方式结束a线程
a.setLoop(false);
System.out.println("b线程退出");
break;
}
}
}
}