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

长春网站制作优势吉网传媒中铁建设集团门户网登录官网查询

长春网站制作优势吉网传媒,中铁建设集团门户网登录官网查询,做网站需要融资,智加设计核心问题:分工,同步,互斥 分工:如何高效地拆解任务并分配给线程 生产者-消费者模式、Thread-Per-Message模式、Worker-Thread模式、ComplateableFuture和CompletionServiceJava SDK 并发包里的 Executor、Fork/Join、Future 本质上…

核心问题:分工,同步,互斥

  1. 分工:如何高效地拆解任务并分配给线程
    • 生产者-消费者模式、Thread-Per-Message模式、Worker-Thread模式、ComplateableFuture和CompletionService
    • Java SDK 并发包里的 Executor、Fork/Join、Future 本质上都是一种分工方法
  2. 同步:线程之间如何协作
    • 一个线程执行完了一个任务,如何通知执行后续任务的线程开工
    • Java SDK 里提供的 CountDownLatch、CyclicBarrier、Phaser、Exchanger
  3. 互斥:保证同一时刻只允许一个线程访问共享资源
    • 导致不确定的主要源头是可见性问题、有序性问题和原子性问题
    • Java SDK 里提供的 ReadWriteLock、StampedLock 可以优化读多写少场景下锁的性能

可见性、原子性和有序性问题

  1. 可见性:一个线程对共享变量的修改,另外一个线程能够立刻看到
  2. 原子性:我们把一个或者多个操作在 CPU 执行的过程中不被中断的特性称为原子性
  3. 有序性:Java内存模型中,允许编译器和处理器对指令进行重排序,但是重排序过程不会影响到单线程程序的执行,却会影响到多线程并发执行的正确性。
  4. 缓存导致的可见性问题:当多个线程在不同的 CPU 上修改同一个变量时,因为多个线程不是同时启动的,有一个时差可能会导致值不一样。
  5. 线程切换带来的原子性问题:
    1. 首先将变量从内存中加载到CPU寄存器
    2. 之后执行操作
    3. 最终将结果写入内存(缓存机制导致可能写入的是CPU缓存而不是内存)
  6. (单例模式的双重检测,new指令也是3步操作,①分内存②初始化③赋值给引用变量,可能会发生①③②的重排序,这时候如果又有操作系统的分时操作的加持,导致A操作①③后挂起,时间片被分配给了B线程,而B线程甚至都不需要进行锁的获取,因为此时instance已经不等于null了,但是此时的instance可能未初始化)

 

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

相关文章:

  • 怎样建设网站是什么样的都安网站建设
  • 申请网站域名怎么做站点提交
  • 西峡网站开发深圳网络推广网络
  • 枣阳建设局网站wordpress 免费中文模板下载
  • 教研室网站建设网站怎么做代码优化
  • 网站建设有什么形式无锡网站制作8
  • 网站免费源码大全中卫市住房建设局网站
  • 网站被网站建设的人控制了网站专栏建设工作方案
  • 阿里云个人备案可以做企业网站吗中国计算机网络公司排名
  • 写网站软件专业团队建设方案
  • 自己做的网站图片不显示网站后台系统访问
  • 南京 网站备案wordpress 搜索引索
  • 网站建设经费估算用thinkphp做的网站
  • 两学一做网站视频美发网站源码
  • 郑州个人网站制作公司公众号开发菜单
  • 中国摄影网站多作者wordpress插件
  • 做外贸怎么登陆国外网站做那种网站受欢迎
  • 纪检网站建设动态主题极简wordpress博客
  • 网站开发美学 2.0属于网站开发工具的是
  • 长春专业做网站公司哪家好wordpress后台登陆显示404
  • 文化传媒公司能否建设经营网站公司注册流程
  • windows 网站开发环境深圳拼团手机网站开发
  • 泉州网站建设多少钱百度有免费推广广告
  • 中科建建设发展有限公司网站网站备案 快递
  • 学网站开发有用么提升关键词优化排名软件
  • wordpress教程教程视频贵阳市网站优化
  • 太原高端网站建设天元建设集团有限公司商票
  • 杭州集团网站建设方案安装wordpress linux
  • 网站建设开发综合实训报告对网站的赏析
  • 网站开发技术thinkphp商业网点建设中心网站