java synchronized关键字

weixin_38050602 2014-11-21 03:38:16
如果synchronized(this)则获取的是对象锁,当获取的是对象锁的时候,其他线程无法访问改对象里面的任何有synchronized方法,这一点我可以理解,现在我的synchronized是加在方法上面,在网上查了一下,说获得的是成员锁,但是不明白的是synchronized加在方法上面,为什么其他线程也是无法访问改对象里面的任何有synchronized方法? 主要代码如下: public synchronized void mainProcee() { //TODO } public synchronized void subProcee() { //TODO } //测试代码:         // main thread          new Thread(new Runnable() {                   @Override          public void run() {          pro.mainProcee();          }          }).start();                   // sub thread          new Thread(new Runnable() {                   @Override          public void run() {          pro.subProcee();          }          }).start();          }
...全文
13 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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