永发信息网

java 同步异常 报java.lang.IllegalMonitorStateException的异常,求大神帮忙解析。

答案:2  悬赏:50  手机版
解决时间 2021-02-09 03:15
package demo;

public class Demo {
public static void main(String[] args) {
Q q = new Q();
new Producer(q,lock);
new Coustomer(q,lock);

}
}

class Q {
int i;
boolean flag = false;

public int get() {
return i;
}

public void put(int i) {
this.i = i;
}
}

class Producer implements Runnable {
Thread t;
Q q;
int n = 0;

public Producer(Q q,Object o) {
this.q = q;
lock = o;
t = new Thread(this, "producer");
t.start();
}

@Override
public void run() {
while (true) {
synchronized (q) {
if (q.flag) {
try {
System.out.println("coustomer wait....");
wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

q.put(10);
System.out.println(Thread.currentThread().getName() + ":" + q.i);
q.flag = true;
notify();

}
}
}
}

class Coustomer implements Runnable {
Thread t;
Q q;

public Coustomer(Q q,Object o) {
lock = o;
this.q = q;
t = new Thread(this, "customer");
t.start();
}

public void run() {

while (true) {
synchronized (q) {

if (!q.flag) {
try {
System.out.println("coustomer wait....");
wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

q.flag = false;
System.out.println(Thread.currentThread().getName() + ":" + q.i);
notify();
}
}
}
}
最佳答案
去掉notify();

因为当前线程不含有当前对象的锁资源的时候,调用obj.notify()方法

会出现异常,你试一下。
全部回答
没有这个方法,看看你的源码,是不是定义有问题,isloopback() z ,后面怎么会有一个z。。。。。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我家金鱼肚子最近变得有点大
米兰婚纱国际摄影机构地址有知道的么?有点事
贷款合同签字后,贷款公司没有放款。我有法律
如何更换硬盘而不丢失数据?
宏伟文印社地址好找么,我有些事要过去
昊锐物流靖宇分公司这个地址在什么地方,我要
已知圆C经过A(3,2)\B(1,6)两点,且圆心在直线y
热力管道包含什么管道
一周没联系女孩了,还能再联系她吗?
当自己很想去做事的时候,却发现自己什么技术
大军广告地址在哪,我要去那里办事
主谋出钱请人砸车,从犯已送检并指证主谋所为
oracle数据迁移问题:谁有oracle 数据迁移的
清河农贸市场怎么去啊,有知道地址的么
下列行为属于服务社会、奉献社会的有①小明经
推荐资讯
鸭肠一般要在哪里买
松乐麻将机拉萨形象店地址在什么地方,想过去
现在在哪个城市适合做麻辣烫?
豪门不夜城怎么去啊,我要去那办事
渝烟连锁地址好找么,我有些事要过去
怎么比较礼貌询问别人婚姻状况
sql server 2005怎么更改服务器名称
常熟市兴隆塑料厂怎么去啊,有知道地址的么
为什么大毛钓鱼历害
先秦的祖先是谁?是什么地方的族人创立秦国的
【傣家竹楼的特点】傣家竹楼的特点,形状、材
全城热恋婚纱摄影概念馆地址在什么地方,我要
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?