一条课本线程题目!各位善人来帮帮忙!因初学线程,不是很懂的说~在线等! 编写一个多线程程序实现如下功能,线程A和线程B分别在屏幕上显示信息“~~~start”后,调试wait等待,线程C开始后调用sleep休眠一段时间,然后调用notifyAll,使用线程A和线程B继续运行。线程A和线程B恢复运行后输出信息“~~~end”后结束,线程C在判断线程B和线程A 的结束后自己也结束运行。自己做了下,情况不理想。愿看看高手们的答案!谢谢了~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class ThreadDemo { public static void main(String[] args) throws Exception { Thread1 a = new Thread1("a"); Thread1 b = new Thread1("b"); a.start(); b.start(); Thread.currentThread().sleep(5000); synchronized (ThreadDemo.class) { ThreadDemo.class.notifyAll(); } Thread.currentThread().sleep(5000); }}class Thread1 extends Thread { private String name; public Thread1(String name) { super(); this.name = name; } public void run() { System.out.println(name+" start..."); synchronized (ThreadDemo.class) { try { ThreadDemo.class.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println(name+" end..."); }} 如何使用java判断String类型的yyyyMMdd是周五还是月末 java问题 如何用基本数据类型的包装类改写下面程序? FileChannel的read()问题 救命呀! final方法和private方法的区别! tomcat除了作为webserver外,可以作为应用服务器(ejbserver)吗? 怎么设置编码问题? 为什么csdn的搜索功能不能用? 大家给个提醒,谢谢了。同样的程序在main函数里执行和在servlet执行,结果是不一样的呢? 刚开始学JAVA,问一个JAVA的简单问题?? 多线程问题
public static void main(String[] args) throws Exception {
Thread1 a = new Thread1("a");
Thread1 b = new Thread1("b");
a.start();
b.start();
Thread.currentThread().sleep(5000);
synchronized (ThreadDemo.class) {
ThreadDemo.class.notifyAll();
}
Thread.currentThread().sleep(5000);
}
}class Thread1 extends Thread {
private String name; public Thread1(String name) {
super();
this.name = name;
} public void run() {
System.out.println(name+" start...");
synchronized (ThreadDemo.class) {
try {
ThreadDemo.class.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println(name+" end...");
}
}