美文网首页
Synchronized关键字简单解析

Synchronized关键字简单解析

作者: 一只松鼠plus | 来源:发表于2017-06-28 10:05 被阅读0次

        synchronized是以排队的方式进行处理多线程访问的,调用前先判断有没有上锁,如果上锁则会等待,在等待过程中会一直尝试获取这把锁,多个线程同时争这把锁。此外,只有共享资源读写访问才需要同步化,不是共享资源则没有同步的必要。


    示例:

    定义普通类和方法
    线程A 线程B                       
    测试一                 
    测试二

           synchronized取得的锁都是对象锁,而不是把一段代码或者是一个方法当作锁,所以在上面的示例中(测试一所示),哪一个线程先执行带synchronized关键字的方法,那个线程就持有该方法所属对象的锁lock,那么其他线程只能呈等待状态,前提是多个线程访问的是同一个对象!如果多个线程访问多个对象,则Jvm会创建多个锁(测试二所示)


    相关文章

      网友评论

          本文标题:Synchronized关键字简单解析

          本文链接:https://www.haomeiwen.com/subject/vjnycxtx.html