00:00
各位同学大家好,刚才呢给大家介绍了什么是GC,包括带着各位同学一起回顾了进程和线程中等基本概念,包括什么是进程,什么是线程,线程中等几种状态,Wait和sleep的区别,以及什么叫并发,什么叫并行,那下面呢给各位再来说另外的几个概念,首先咱们看里边的第一个概念。这个概念叫做管乘,那给大家说明一下什么叫管成,这管乘到底是什么意思,那这里边给各位同学我来介绍一下关于这个管程。我在里边写一下,什么叫管城呢?管城,它的描述叫做monitor。写一下啊,就是m on monitor。然后这个猫什么意思呢?翻译过来叫做监视器。
01:03
什么叫监视器?就是咱们平时所说的那个锁,就叫监视器,那它什么意思呢?给大家说一下啊,就是这个监视器它本身是一种同步的一种机制,什么叫同步?它就保证咱们在同一时间,或者说同一个时间。在这个时候呢,怎么样呢,我们只能有一个线程。来对我们这个资源进行访问,而别的县城不能进行访问,这是我们说的里边这个特点我再重复一遍啊,管成叫做monitor,指咱们Java中叫锁,在我们操作系统中叫监视器,就是咱们通俗说这个锁,它是一种同步机制,保证在同一时间内仍有一个线程能去访问我们这个就是可以说叫做被。
02:04
保护的。这么一个数据或者说代码。这是我们说的关于管程的一个基本描述,那下面呢,咱们把它在进说明,大家注意啊,在咱们的JM中进行同步操作,要基于这个进入和退出猫对象,就是咱说的管成对象来实现的,那什么意思呢?大家注意,比如咱们现在进入到某个线程的时候是不是要加锁呀,而我退出某线程是不是要解锁呀?就是咱说的进入和退出过程,这个过程是通过咱们的monitor或者说咱们的管程对象进行管理的。那我写一下啊,就是我们的JVM中的同步。它是基于这个叫做进入和退出这过程中进行操作的,而它的进入和退出是使用咱们这个叫管程对象来进行实现的,每个对象的都会有一个monitor这个管程对象,而管成对象是会随着Java对象一起创建和销毁,说的通俗点,管成对象就是对我们的临界区进行加锁,你进入的时候加锁,退出的时候解锁,进入退出通过管程对象进行这么一个管理。
03:32
这是我们提到的什么叫管程对象,就是咱们通俗说的这个锁是一种监视器。然后在这个JM有一本书,它的最新版本中对管程对象做了一个描述,对描述就是我刚才说的过程,它里说到啊,说我们执行这个就是线程操作,首先呢,需要先持有这个管程对象,然后才能去执行方法,当你在方法执行过程中,因为你持有了管程对象嘛,然后别的线程就不能再获取同一个管程对象,当你方法执行完成之后,最终再释放,难道管程对象。
04:11
所以大家注意这个过程是不是就是咱说的锁的过程,是他是用管成对象对你进入和退出做的这么一个管理,咱们进入要加锁,退出要解锁,对临界区进行加锁操作,这个过程通过管成对象进行这么一个管理。所以这是给各位介绍的一个重要的概念,叫做管城,所以说到这里要各位要掌握什么叫进程,什么叫线程,包括什么叫管程这个概念,我们就说到这里。
我来说两句