码迷,mamicode.com
首页 > 编程语言 > 详细

Java synchronized (1)

时间:2017-10-26 11:52:36      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:使用   不同   对象   java   monitor   同步   his   monit   并发   

  1. 解决问题

    多线程并发问题。

  2. 原理

     

  3. 注意点

     a.  synchronized(class、this、object)区别?

        synchronized(class)很特别,它会让另一个线程在任何需要获取class做为monitor的地方等待。class和this可以同时使用

       1. 对于实例同步方法,锁定当前实例对象;

       2. 对于静态同步方法,锁定当前对象的class对象;

       3. 对于方法同步块,synchronized锁定括号内配置的对象。

       class与this的几种情况:

          synchronized(class)

          synchronized(this)

          线程各自获取monitor,不会等待;

          synchronized(this)

          synchronized(this)

          如果不同线程监视同一个实例对象,就会等待;如果不同的实例,就不会等待;

          synchronized(class)

          synchronized(class)

          如果不同线程监听同一个实例或不同的实例对象,都会等待。

 

   

 

Java synchronized (1)

标签:使用   不同   对象   java   monitor   同步   his   monit   并发   

原文地址:http://www.cnblogs.com/qishuai/p/7735658.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!