课程咨询 :0535-6582277
QQ:2720475033

  • Java基础知识笔记 多线程同步的基本原理

    发布:烟台java培训小编      来源:烟台java培训教学部      时间:2016-09-27

  • 烟台Java培训小编讯 如果在多个并发线程之间共用资源,则可能就需要进行同步处理。Java虚拟机通过给每个对象加锁的方式实现多线程的同步处理。这里的对象包括类对象和实例对象两种。一个类的静态成员域和静态成员方法隶属于类对象。一个类的非静态成员域和非静态成员方法是不隶属于类对象的,而隶属于类的实例对象。

    Java虚拟机为每个对象配备一把锁和一个等候集。对象内部锁住的是一些同步方法和同步语句块。一个方法要成为同步方法只要给该方法加上修饰词synchronized就可以。同步语句块的定义格式如下:

    Synchronized(引用类型的表达式)

    语句块

    其中,关键字synchronized是同步语句块的引导词;位于“()”内的表达式必须是引用类型的表达式,指向某个类对象或实例对象,即指定与该同步语句块相关连的对象;语句块则由一对“{}”及这对大括号所括起来的一系列语句组成。

    由于同步处理机制,Java虚拟机在运行同步方法或同步语句块时在时间和空间上需要一些额外开销。虽然利用多线程可以提高资源的利用率,但是如果过于频繁地用同步方法或同步语句块,则会降低多线程的并行度,并可能因为Java虚拟机的额外开销过大而最终降低程序的运行效率。

上一篇:Java基础知识笔记 多线程的同步问题

下一篇:从零开始学 Java - Spring 集成 Memcached 缓存配置

最新开班日期  |  更多

java--名企定制班

java--名企定制班

开班日期:6月30日

java--零基础脱产班

java--零基础脱产班

开班日期:6月30日

java--在职提升班

java--在职提升班

开班日期:6月30日

java--精品业余班

java--精品业余班

开班日期:6月30日

2001-2017 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56