
java编程题。不要太复杂。。。
编写java应用程序,在主线程中有2个线程:worker和boss。线程worker负责在命令行输出“我一直在工作”,这个线程共输出20行,每输出一行就准备休息10s,但...
编写java应用程序,在主线程中有2个线程:worker和boss。线程worker负责在命令行输出“我一直在工作”,这个线程共输出20行,每输出一行就准备休息10s,但boss线程负责不让worker休息。当worker工作完成后,boss线程也结束运行。
展开
展开全部
Boss 老板类线程
package util;
public class Boss extends Thread {
public Boss(){
this.setName("剥削者");
}
public void run() {
}
// 吵醒工人线程的方法
public void method(Worker worker){
System.out.println("吵醒了");
worker.interrupt();
}
}
Worker 工人类线程
package util;
public class Worker extends Thread {
private Boss boss;
public Worker(Boss boss) {
this.setName("劳苦大众");
this.boss=boss;
this.start();
boss.start();
}
public void run() {
working();
}
public void working() {
int i=1;
while(i<=10){
System.out.println("我一直在工作");
i++;
try {
boss.method(this);
Worker.sleep(1000*10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
}
}
}
}
Test 测试类主线程
package util;
public class MainThread {
public static void main(String[] args) {
Boss boss = new Boss();
Worker worker=new Worker(boss);
}
}
package util;
public class Boss extends Thread {
public Boss(){
this.setName("剥削者");
}
public void run() {
}
// 吵醒工人线程的方法
public void method(Worker worker){
System.out.println("吵醒了");
worker.interrupt();
}
}
Worker 工人类线程
package util;
public class Worker extends Thread {
private Boss boss;
public Worker(Boss boss) {
this.setName("劳苦大众");
this.boss=boss;
this.start();
boss.start();
}
public void run() {
working();
}
public void working() {
int i=1;
while(i<=10){
System.out.println("我一直在工作");
i++;
try {
boss.method(this);
Worker.sleep(1000*10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
}
}
}
}
Test 测试类主线程
package util;
public class MainThread {
public static void main(String[] args) {
Boss boss = new Boss();
Worker worker=new Worker(boss);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询