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

贵州网站开发哪家好温州做网站软件

贵州网站开发哪家好,温州做网站软件,嘉兴优化网站排名,网站违规词处罚做网站的Java 语言抽象和隐藏了各种操作系统线程差异性的接口,这曾经是它区别于其他编程语言的一大优势,但在某些场景下,却已经出现了疲态; 文章目录1. 内核线程的局限2. 协程的复苏3. Java 的解决方案1. 内核线程的局限 在微服务架构中&…

Java 语言抽象和隐藏了各种操作系统线程差异性的接口,这曾经是它区别于其他编程语言的一大优势,但在某些场景下,却已经出现了疲态;

文章目录

      • 1. 内核线程的局限
      • 2. 协程的复苏
      • 3. Java 的解决方案

1. 内核线程的局限

在微服务架构中,要求每个服务提供者可以同时处理数量庞大的请求,而不出现由某个服务被阻塞而整体等待;

Java 目前的并发编程机制(内核线程实现)与此存在矛盾,映射到操作系统上的线程的切换、调度成本高昂(线程切换开销可能接近于计算本身的开销),系统能容纳的线程数量有限;

线程 A -> 系统中断 -> 线程 B

从线程 A 切换到线程 B 之前,操作系统首先需要把现场 A 的上下文数据妥善保管,让后把寄存器、内存分页等恢复到线程 B 挂起时的状态;这种保护与恢复现场的工作涉及一系列寄存器、缓存的来回拷贝,不可能是一种轻量级的操作;

2. 协程的复苏

  • 栈纠绕Stack Twine),有用户自己模拟的多线程、自己保护恢复现场的工作模式;通过内存划分额外空间模拟调用栈,让现场中的方法压栈、退栈遵守规则;
  • 协程Coroutine),被设计成协同式调度(Cooperative Scheuling)的用户线程;
    • 有栈协程Stackfull Coroutine),会完整地做调用栈的保护、恢复工作;
    • 无栈协程Stackless Coroutine),有限状态机,状态保存在闭包里,比有栈协程更轻量,功能也更有限;(await、async、yield 关键字应用);

64 位 Linux 上 HotSpot 的线程栈容量默认是 1 MB,内核数据结构额外消耗 16KB 内存,而一个协程的栈通常在几百字节到几 KB;可见 JVM 线程容量在 200 左右,而协程容量可以到十万级;

Java 调用栈与本地调用栈是在一起的,在调用本地方法时切换协程,可能影响整个线程;一旦遭遇 synchronized 关键字,挂起的仍是整个线程;

3. Java 的解决方案

  • 纤程Fiber),一种有栈协程;A light weight or user mode thread, scheduled by the Java virtual machine, not the operating system; Fibers are low footprint and have negilgible task-switching overhead. You can have millions of them!

Fiber 与目前线程模型保持相似的 API,目标是与内核线程实现共存;

5000 QPS,400 线程 vs. 纤程,线程 latency 在 10s ~ 20s,而纤程 latency 在 200ms;

纤程并发代码会被分为两个部分:执行过程(Continuation,维护执行现场,保护、恢复上线文状态)和调度器(Scheduler,编排所有要执行的代码的顺序,Loom 的默认调度器是 Fork/Join 池);

可以使用 Quasar 协程库独立实现协程调度;但由于其实现方式是通过字节码注入采用局部变量保存和恢复上下文,存在较大性能问题;且要求用户手动标准每一个需要使用协程的函数,对即时编译器的干扰也较大;


上一篇:「JVM 高效并发」Java 线程

PS:感谢每一位志同道合者的阅读,欢迎关注、评论、赞!


参考资料:

  • [1]《深入理解 Java 虚拟机》
http://www.yayakq.cn/news/561666/

相关文章:

  • 常见门户网站的功能网站行销
  • 提供徐州网站建设网站备案要多长时间
  • 企业网站建设方案论文公司网站建设与设计制作
  • h5响应式网站开发做网站图标的软件
  • 做服务的网站吗东莞市桥头镇网络工程公司
  • 网站查询seo根据颜色找网站
  • 应用网站如何做创建网站的注意事项
  • wap建站深圳房管局官网
  • 谷歌搜索关键字网站网络文化经营许可证有效期几年
  • 企业网站搭建自学做网站需要学会哪些
  • 国外虚拟服务器网站南昌百度推广优化
  • 工厂网站建设公司佛山做外贸网站咨询
  • 镇江建站jsp网站开发实例教程
  • 深圳制作网站推荐wordpress分页条目
  • 上海网站建设v芯ee8888e合肥优化
  • 网站集约建设网站建设怎么找到客户
  • jsp网站开发四酷全书建立网站步骤
  • 郑州专业网站优化网站技术报务费如何做会计分录
  • 网站注册系统怎么做做校园后勤管理网站得重点难点
  • 做网站维护需要懂什么无锡网站推
  • 公司企业建设网站山东省春季高考网站建设试题
  • 楚雄网站建设公司企业站网络推广
  • 佛山公众平台网站推广多少钱大型门户网站有哪些
  • 做网站平面模板是啥意思建筑设计公司经营范围有哪些
  • 建行官方网站 - 百度礼泉住房和城乡建设局网站
  • 大连里程科技做网站wordpress媒体库地址
  • iis网站建设做网站的ui
  • 华资源网站建设建设企业网站官网企业网银
  • 天津市城乡建设局网站足球比赛直播平台app免费
  • 使用网站效果php网站开发有前景吗