题目求解答 有3个线程:zhangXiao、zhengMing和teacher,其中2线程zhangXiao和zhengMing准备休眠10秒钟后,再分别输出“老师好!”和“good morning”。teacher线程在输出5句“上课”后,吵醒休眠的线程:zhangXiao、zhengMing。请编写程序实现以上过程。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class Test implements Runnable{ Thread zhangXiao, zhengMing, teacher; String lock = new String(""); boolean runOk = true; int count; public void go() { teacher = new Thread(this); teacher.setName("teacher"); teacher.start(); zhangXiao = new ThreadZhangXiao(); zhangXiao.setName("zhangXiao"); zhangXiao.start(); zhengMing = new ThreadZhengMing(); zhengMing.setName("zhengMing"); zhengMing.start(); } public static void main(String[] args) { new Test().go(); // System.out.println(Thread.currentThread().getName()); } public void run() { while (runOk) { count++; System.out.println("Class Begins!"); if (count >= 5) { synchronized (zhangXiao) { zhangXiao.notify(); runOk = false; } synchronized (zhengMing) { zhengMing.notify(); runOk = false; } } } } class ThreadZhangXiao extends Thread { public void run() { try { synchronized (zhangXiao) { while (runOk) { zhangXiao.wait(); } System.out .println("zhangXiao says: Good morning, Teacher!"); } } catch (InterruptedException e) { e.printStackTrace(); } } } class ThreadZhengMing extends Thread { public void run() { try { synchronized (zhengMing) { while (runOk) { zhengMing.wait(); } System.out .println("zhengMing says: Good morning, Teacher!"); } } catch (InterruptedException e) { e.printStackTrace(); } } }} JAVA 反射 获取成员变量的顺序 一个Hello.java很基础的问题 Java中关于String的问题 swing里如何取得窗口中输入的字符 有没有国外的java 相关论坛或网站 推荐一下 格式化日期报错.... 如何读取文件夹的所有内容,包含子文件价 thinking in java说Vector有许多缺点,但说明出任何一个缺点,有谁能说明说明? 对象的转换问题,请指教 求教:关于内部类 急 急 急 一个菜鸟(如假包换)求助有关JDBC的的问题!!! 哥几个,我儿子选美,帮忙投一票呵! (没分了,进来的只有感谢!)
{
Thread zhangXiao, zhengMing, teacher; String lock = new String(""); boolean runOk = true; int count; public void go()
{
teacher = new Thread(this);
teacher.setName("teacher");
teacher.start(); zhangXiao = new ThreadZhangXiao();
zhangXiao.setName("zhangXiao");
zhangXiao.start(); zhengMing = new ThreadZhengMing();
zhengMing.setName("zhengMing");
zhengMing.start(); } public static void main(String[] args)
{
new Test().go();
// System.out.println(Thread.currentThread().getName());
} public void run()
{ while (runOk)
{
count++;
System.out.println("Class Begins!");
if (count >= 5)
{
synchronized (zhangXiao)
{
zhangXiao.notify();
runOk = false;
} synchronized (zhengMing)
{
zhengMing.notify();
runOk = false;
}
}
}
} class ThreadZhangXiao extends Thread
{
public void run()
{
try
{
synchronized (zhangXiao)
{
while (runOk)
{
zhangXiao.wait();
}
System.out
.println("zhangXiao says: Good morning, Teacher!");
}
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
} class ThreadZhengMing extends Thread
{
public void run()
{
try
{
synchronized (zhengMing)
{
while (runOk)
{
zhengMing.wait();
}
System.out
.println("zhengMing says: Good morning, Teacher!");
}
}
catch (InterruptedException e)
{
e.printStackTrace();
}
} }
}