线程疑问

ddkddk3000 2005-12-08 09:48:55
Java Tutorial里讲的线程:
http://java.sun.com/docs/books/tutorial/essential/threads/waitAndNotify.html

没明白下面这一点:
如果consumer线程先执行,调用get后就获得了对象锁,
那么producer线程不就不能进入put方法了吗?
但我先启动consumer,延迟了一段时间再启动producer,
synchronized并没有起作用,仍然是先执行了put,后执行了get。为什么?
...全文
172 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
inexplicable 2005-12-10
  • 打赏
  • 举报
回复
调用wait 方法的时候是会释放对象锁的,所以 consumer wait的时候
producer才能进入put方法
zyg158 2005-12-10
  • 打赏
  • 举报
回复
是不是consumer里面没有东西get不到,要等到producer执行了put才能get到啊
zyg158 2005-12-10
  • 打赏
  • 举报
回复
^_^ 楼上说的透彻
ddkddk3000 2005-12-09
  • 打赏
  • 举报
回复
自顶

62,624

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧