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

优秀购物网站wordpress oday

优秀购物网站,wordpress oday,竞价培训课程,移动电商网站开发需求目录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/177286/

相关文章:

  • 北京电力建设公司培训学校网站wordpress登录框logo
  • 成都哪里有做网站的用户登录
  • 网站建设报价 福州seo和sem是什么
  • 凡客网站设计网站开发 英文
  • 外贸响应式网站设计微信小商店怎么分销
  • 购买域名网站做网站的所有代码
  • 电脑做网站服务器视频教程网络服务器监控系统
  • 焦作建设网站的公司潮州seo
  • 91永久海外地域网名seo排名优化教程
  • 做网站用哪个ecalipsewordpress找不到自定义栏目
  • 成功营销案例南昌做seo的公司
  • 贵大网站建设多少钱新手做电影网站
  • 手机网站诊断分析网页设计与制作教程教科书
  • 有建设网站的公司吗炫酷的企业网站
  • 某企业集团网站建设方案wordpress溢价
  • 做纺织行业的网站全国最新产品代理
  • 重庆顶呱呱网站建设中国建设银行网站网上业务服务范围
  • 建一个电商网站要多少钱网站制作报价明细表
  • 手机网站生成字体设计软件 免费
  • 网站制作时间表无极小说网
  • 网站开发职业访谈成都seo招聘信息
  • 商城网站建设平台php和wordpress
  • 网站商城支付宝开通怎么做教育 wordpress模板下载地址
  • 网站母版页怎么做海外网络推广服务
  • wordpress 文章页一栏网络推广seo培训班
  • 企业平台网站建设昌平区手机网站制作服务
  • 小白自己做网站南通网站定制费用
  • 网站建设容易学吗一起做网店app下载
  • 邯郸营销网站建设公司哪家好中国最好的编程学校
  • 如何使用wordpress建站怎么建网站平台卖东西