当前位置: 首页 > news >正文

可信网站认证必须做天津建设工程信息网专家申请题库

可信网站认证必须做,天津建设工程信息网专家申请题库,wap php网站源码,分分钟制作一个h5页面目录synchronized的特性1. 互斥2. 刷新内存3. 可重入synchronized的使用1. 直接修饰普通方法2. 修饰静态方法3. 修饰代码块synchronized的锁机制基本特点关键锁策略 : 锁升级synchronized的特性 1. 互斥 synchronized 会起到互斥效果, 某个线程执行到某个对象的 synchronized…

目录

  • synchronized的特性
    • 1. 互斥
    • 2. 刷新内存
    • 3. 可重入
  • synchronized的使用
    • 1. 直接修饰普通方法
    • 2. 修饰静态方法
    • 3. 修饰代码块
  • synchronized的锁机制
    • 基本特点
    • 关键锁策略 : 锁升级

synchronized的特性

1. 互斥

synchronized 会起到互斥效果, 某个线程执行到某个对象的 synchronized 中时, 其他线程如果也执行到同一个对象 synchronized 就会阻塞等待.

进入 synchronized 修饰的代码块, 相当于 加锁
退出 synchronized 修饰的代码块, 相当于 解锁

所有对象都可以作为 synchronized的锁(基本数据类型对象除外).

2. 刷新内存

synchronized 的工作过程 :

  1. 获得互斥锁
  2. 从主内存拷贝变量的最新副本到工作的内存
  3. 执行代码
  4. 将更改后的共享变量的值刷新到主内存
  5. 释放互斥锁

synchronized 也能保证内存可见性

3. 可重入

synchronized 对同一条线程来说是可重入的,不会出现自己把自己锁死的问题.
就是在锁里面再加一把锁, 并且两把锁的锁对象都是同一个, 一般来说要想进入第二把锁就得等第一把锁将锁对象释放了, 而第一把锁想释放就得进入并走出第二把锁, 这就产生了矛盾, 产生了死锁. 而 synchronized 并没有这样的问题.

synchronized的使用

synchronized 本质上要修改指定对象的 “对象头”. 从使用角度来看, synchronized 也势必要搭配一个具体的对象来使用.

1. 直接修饰普通方法

public class SynchronizedDemo {public synchronized void methond() {}
}

2. 修饰静态方法

public class SynchronizedDemo {public synchronized static void method() {}
}

3. 修饰代码块

锁当前对象

public class SynchronizedDemo {public void method() {synchronized (this) {}}
}

锁类对象

public class SynchronizedDemo {public void method() {synchronized (SynchronizedDemo.class) { //通过反射来获得对象}}
}

synchronized的锁机制

基本特点

  1. 开始时是乐观锁, 如果锁冲突频繁, 就转换为悲观锁.
  2. 开始是轻量级锁实现, 如果锁被持有的时间较长, 就转换成重量级锁.
  3. 实现轻量级锁的时候大概率用到自旋锁策略.
  4. 是一种不公平锁 (产生阻塞等待时, 不是按顺序来得到锁)
  5. 是一种可重入锁.
  6. 不是读写锁.

关键锁策略 : 锁升级

在这里插入图片描述
偏向锁不是真的 “加锁”, 只是打上一个 “标记”, 记录这个锁属于哪个线程.
如果后续没有其他线程来竞争该锁, 那么就不用进行其他操作了(避免了加锁解锁的开销)
如果后续其他线程来竞争这把锁了, 偏向锁就升级为自旋锁(轻量级锁), 如果竞争进一步激烈, 自旋不能快速获取到锁状态, 就会变为重量级锁.

http://www.yayakq.cn/news/122810/

相关文章:

  • 咸阳做网站的公司有哪些广州网站建设培训班
  • 外贸产品网站建设阳江网站seo服务
  • 小猪网站怎么做的流量最大的网站
  • 网站开发的技术可行性怎么写网页添加兼容性站点
  • 毕业生对于网站建设感受app开发公司哪个公司好
  • 枣庄做网站制作外包小程序
  • 建设网站需要几个人完成广西网站建设-好发信息网
  • 哪个网站可以做化学实验wordpress禁止百度转码
  • 福建就福建省住房与城乡建设厅网站网站设计文字大小
  • 京东网站的建设与发展现状分析专业做网站联系电话
  • 网站备案工信部可以做司法考试题的网站
  • 家装网上怎么接单啊淄博优化推广
  • aspnet网站开发实例项目代理记账公司怎么找客源
  • 沈阳做微信和网站的公司做网站公司融资多少钱
  • 如何去建立和设计一个公司网站程序源代码网站
  • 微网站制作软件新手wordpress添加注册表
  • 企业电子商务网站平台建设闵行网站建设
  • 哪里建个人网站好怎么更改网站首页图片
  • 做网站推广也要营业执照吗网页制作的公司为什么瓯北没有
  • 桂阳网站设计河北省建设项目环保备案网站
  • 如何设计中文网站注册有限公司需要多少钱
  • 我做的网站有时打开很慢什么原因2016年做网站能赚钱
  • 1 建设网站目的是什么建设网站哪个比较好
  • 有哪些网站有收录做红酒的商行代理网点什么意思
  • 建设标准信息网站怎么查看网站是哪个公司建的
  • 网站改版是否有影响企业公司网站模版
  • 万寿路网站建设ps软件下载手机版免费
  • 温州做网站哪家好建设行业网站价格
  • 哪个公司做网站比较好福州市高速公路建设指挥部网站
  • 公司网站建设分录微信小程序开发编辑器