不知道为何同步代码出现异常。求高手帮助,跪谢了! 本帖最后由 xingqi10 于 2012-11-20 11:53:51 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把Consumer类的 p.setIsEmpty(Boolean.TRUE); p.notify();这两行代码放到synchronized块中:public class Consumer implements Runnable{ private Person p; public Consumer(Person p) { this.p = p; } public void run() { for (int i = 0; i < 100; i++) { synchronized (p) { if (!p.getIsEmpty().equals(Boolean.FALSE)) { try { p.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } String name = p.getName(); String sex = p.getSex(); System.out.println(name + "--->" + sex); p.setIsEmpty(Boolean.TRUE); p.notify(); } } }} Consumer这个类你能编译通过?以下两行代码没有在同步块里(synchronized (p))p.setIsEmpty(Boolean.TRUE);p.notify(); 一个有关线程问题的疑惑,比较简单,我是新手,请指教下 swt中的table如何连接数据库 JList 问题 请教各位一个问题,两个线程同时操作一个map,怎么弄啊? 急于得到答案!!!谢谢 在一年里能学好JAVA吗????/ 为什么debug的时候能够得到预期结果,run的时候就不行? 特急!连接数据库问题,即答即给分! 关于在JTable里显示多行文本!!!! 请问JAVA如何编写多线程共享一个变量?注意是不同的构造函数做出的线程。 [swing] JTable怎么给选中行添加监听器 Swing的JFrame窗体跳转及关闭问题
p.setIsEmpty(Boolean.TRUE);
p.notify();
这两行代码放到synchronized块中:public class Consumer implements Runnable{
private Person p;
public Consumer(Person p) {
this.p = p;
}
public void run() {
for (int i = 0; i < 100; i++) {
synchronized (p) {
if (!p.getIsEmpty().equals(Boolean.FALSE)) {
try {
p.wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
String name = p.getName();
String sex = p.getSex();
System.out.println(name + "--->" + sex);
p.setIsEmpty(Boolean.TRUE);
p.notify();
}
}
}
}
以下两行代码没有在同步块里(synchronized (p))
p.setIsEmpty(Boolean.TRUE);
p.notify();