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

顺义城区网站建设淘宝代运营公司

顺义城区网站建设,淘宝代运营公司,dedecms 食品网站,莱芜房产论坛目录 一、基础使用1.1 不加锁的代码实现1.2 加锁的代码实现二、实现原理2.1 synchronized 简介2.2 对象监控器(Monitor)2.3 加锁过程第一步:判断 Owner 指向第二步:进入 EntryList 阻塞第三步:主动进入 WaitSet 等待三、锁升级3.1 对象的内存结构3.2 Mark Word 对象头3.3 …

目录

    • 一、基础使用
      • 1.1 不加锁的代码实现
      • 1.2 加锁的代码实现
    • 二、实现原理
      • 2.1 synchronized 简介
      • 2.2 对象监控器(Monitor)
      • 2.3 加锁过程
        • 第一步:判断 Owner 指向
        • 第二步:进入 EntryList 阻塞
        • 第三步:主动进入 WaitSet 等待
    • 三、锁升级
      • 3.1 对象的内存结构
      • 3.2 Mark Word 对象头
      • 3.3 Monitor 重量级锁
      • 3.4 轻量级锁
        • 1)背景:
        • 2)加锁过程:
        • 3)解锁过程:
      • 3.5 偏向锁
        • 1)背景:
        • 2)加锁过程:
        • 3)轻量级锁 vs 偏向锁
      • 3.6 总结

一、基础使用

  • 假如有这样一个场景:20个用户一起抢10张票

1.1 不加锁的代码实现

public class TicketDemo {// 票总数private int ticketNum = 10;/*** 抢票*/public void getTicket() {if (ticketNum <= 0) {return;}System.out.println(Thread.currentThread().getName() + " 抢到一张票,剩余:" + ticketNum);// 非原子性操作ticketNum--;}/*** 测试:20个人抢一张票*/public static void main(String[] args) {TicketDemo ticketDemo = new TicketDemo();for (int i = 0; i < 20; i++) {new Thread(ticketDemo::getTicket).start();}}
}

执行结果:

可以看到出现了 超卖问题,一共10张票,当20个线程一起抢票就出现有11个人抢到了票。这是因为如果两个线程同时通过了 if 校验。

所以我们需要对票数的操作进行加锁,保证同一时间只有一个线程来检查和操作票数扣减。

1.2 加锁的代码实现

public class TicketDemo {// 锁private static Object lock = new Object();// 票总数private int ticketNum = 10;/*** 抢票*/public void getTicket() {synchronized (lock) {if 
http://www.fp688.cn/news/143738.html

相关文章:

  • 为企业做贡献的文章seo关键词排名公司
  • 聊城做网站推广公司网络营销的步骤
  • 金华大奇网站建设百度搜索引擎算法
  • 哪个网站做恒生指数最安全重庆seo关键词优化服务
  • 互联网公司怎么找网站建设客户网站推广优化排名
  • 网站建设官网怎么收费百度非企推广开户
  • 做折页的网站网站建设服务公司
  • 网站黄金比例长沙竞价优化
  • 滕州市东方建设工程事务有限公司网站太原seo自媒体
  • 循化县公司网站建设今天的最新新闻内容
  • 新浪微博网站建设许昌seo公司
  • 做外汇最好的财经网站百度网盘资源链接入口
  • i岗网站建设最新社会舆情信息
  • 200万做网站云南网站建设快速优化
  • 做网贷中介网站赚钱吗做销售找客户渠道
  • 海淀深圳网站建设公司长沙官网网站推广优化
  • 利用店铺网站做灰色优化百度app下载
  • 怎样用模板建一个网站运营推广计划怎么写
  • 运用.net做网站怎么创建自己的游戏网站
  • 成都哪个公司做网站郑州seo排名第一
  • 网站开发全程设计推广恶意点击软件怎样使用
  • 太原网站建外链怎么发
  • 网易企业邮箱免费和收费区别培训机构优化
  • 创建网站的流程有哪些如何在互联网上做推广
  • 最牛的手机视频网站建设建站模板免费下载
  • 模板网站什么意思品牌营销推广策划方案
  • 专业武汉网站建设公司排名app推广渠道有哪些
  • 北京网站建设及优化打广告的免费软件
  • 济南市章丘区建设局网站足球比赛今日最新推荐
  • 郑州做网站建设公司互联网营销顾问