分享

synchronized、wait、notify(上)

 smalllong 2010-10-30
    

前些天,在凯通软件的JavaEE笔试中碰到了这么一题——为什么wait()、notify()要和synchronized一起使用?   

  当时不会写,随便瞎扯了几句,后来在网上搜了一下,发现关于这个问题的解答很少——至少我没找到,于是把对于线程方面的知识又粗略的看了一下,后来大致总结如下:     synchronized是为了解决同步问题的,而遇到“生产者-消费者”模型时就要用到wait()、notify()来一起解决。

至于笔试题的解答,大致可以理解为:因为wait的作用是通知当前线程等待并释放对象锁,notify的作用是通知等待此对象锁的线程重新获得对象锁,然而,如果没有获得对象锁,wait方法和notify方法都是没有意义的,即必须要先获得对象锁才能对对象锁进行操作,于是,才必须把wait方法和notify方法写到synchronized方法或是synchronized块中了  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多