必威体育Betway必威体育官网
当前位置:首页 > IT技术

Monitor

时间:2019-08-14 23:44:24来源:IT技术作者:seo实验室小编阅读:69次「手机版」
 

monitor

什么是monitor?我们可以把它理解为一个同步工具,也可以描述为一种同步机制,它通常被描述为一个对象。 与一切皆对象一样,所有的java对象是天生的Monitor,每一个Java对象都有成为Monitor的潜质,因为在Java的设计中 ,每一个Java对象自打娘胎里出来就带了一把看不见的锁,它叫做内部锁或者Monitor锁。 

Monitor 是线程私有的数据结构,每一个线程都有一个可用monitor record列表,同时还有一个全局的可用列表。每一个被锁住的对象都会和一个monitor关联(对象头的Markword中的LockWord指向monitor的起始地址),同时monitor中有一个Owner字段存放拥有该锁的线程的唯一标识,表示该锁被这个线程占用。其结构如下:  

44444

Owner:初始时为NULL表示当前没有任何线程拥有该monitor record,当线程成功拥有该锁后保存线程唯一标识,当锁被释放时又设置为NULL; 

EntryQ:关联一个系统互斥锁(semaphore),阻塞所有试图锁住monitor record失败的线程。 

RcThis:表示blocked或waiting在该monitor record上的所有线程的个数。 

Nest:用来实现重入锁的计数。 

HashCode:保存从对象头拷贝过来的HashCode值(可能还包含GC age)。 

Candidate:用来避免不必要的阻塞或等待线程唤醒,因为每一次只有一个线程能够成功拥有锁,如果每次前一个释放锁的线程唤醒所有正在阻塞或等待的线程,会引起不必要的上下文切换(从阻塞到就绪然后因为竞争锁失败又被阻塞)从而导致性能严重下降。Candidate只有两种可能的值0表示没有需要唤醒的线程1表示要唤醒一个继任线程来竞争锁。 

参考:

http://cmsblogs.com/?p=2071

相关阅读

常用串口监控软件:Accessport,ComMonitor,Device Moni

Accessport 下载网址:http://www.sudt.com/en/ap/download.htm优点:完全免费操作简单可查看波特率等串口配置信息缺点:不能监控已打

(九)监控模块-monitor

先用一张图来说明dubbo中的monitor模块结构: 基于Filter来实现服务调用监控功能 @Activate(group = {Constants.PROVIDER, Const

NetMonitor V1.0发布!

下载链接:http://pan.baidu.com/s/1jImlFFK 提取密码:sigy解压密码:shawn写在前面:这个东西是我在网上看了些教程以及源代码,如果您觉

开机故障 开机提示Hardware Monitor...的原因和解决方

电脑开机显示hardware monitor 开机故障,主要显示一些电脑主板温度、CPU温度、CPU电压、内存电压……等,出现这种开机

从零入手教你配置安装HostMonitor实现服务器监控

HostMonitor 简介1、Host Monitor是KS-SOFT公司出品的一套安装在Windows上的网络监测工具,据官方网站的介绍,Host Monitor提供了56

分享到:

栏目导航

推荐阅读

热门阅读