工作生活

多线程基础之synchronized

2019-07-01  本文已影响0人  人生如茶几

什么是线程安全?    

         当多个线程同时执行一个对象(方法或类),这个对象始终展现正常的行为,获得正确的结果,那么这个对象就是线程安全的

synchronized

        加了synchronized的对象(方法或者类),称之为”互斥区“或者”临时区“。

       当多个线程去执行synchronized中的代码时,是以排队的形式进行的,具体步骤为:

            1、先有一个线程获得synchronized的锁

            2、其他线程不停的去请求synchronized的锁,知道获得为止

      综上所述,线程之间是有竞争的。

备注说明:

           多个对象多把锁,每个new出来的对象都是有自己的一把锁,也就是多个对象之间的synchronized都是没有关系的,互不影响

            除非是在静态方法上加了synchronized。那么此时的锁是类锁(.class 锁),那么不管new多少个对象,都是同一把锁。   

        

上一篇 下一篇

猜你喜欢

热点阅读