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

建设网站必须用dnswordpress 调用子栏目

建设网站必须用dns,wordpress 调用子栏目,建立免费网站 优帮云,破解版成年猫咪版永久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/98719/

相关文章:

  • 网站开发的关系图和e-r图如何找到免费的网站建设
  • 常平镇网站建设公司深夜十大app软件
  • 网站开发周期是什么意思网站建设服务商有哪些
  • 专门做cos的网站如何用网站做课件
  • 有服务器还需要买网站空间吗网站建设优化公司排名
  • 用凡科做网站有自己的域名优秀网站设计欣赏
  • 给客户做非法网站成立公司合作协议书范本
  • 重庆学校网站建设网站怎么做百度优化
  • 搭建一个网站的基本流程中国建设银行陕西分行官方网站
  • 做代练去什么网站安全个性化定制产品
  • 北京市西城区住房建设局官方网站创建网站费用
  • 饰品交易网站怎么做wordpress 直接拖拽式建站
  • 托管管理系统app长沙百度seo代理
  • 天翼云主机 网站服务器wordpress 当前位置
  • 微网站的价格17网站一起做网店2018
  • 简述网站开发平台网站服务器安全配置
  • 阳江市网站备案幕布建站之星怎么用
  • 上海专业网站制作开发怎么用dw制作个人主页
  • 购物网站制作教程哪个网站做售楼推广好
  • 阳江市建设局网站南通网站搭建定制
  • 宁波网站建设公司网络推广电子网站建设的实践目的
  • 福州网站搜索引擎优化wordpress 搜索结果页面
  • 做流量哪个网站好网络营销与传统营销的区别
  • 上海旅游景点前端角度实现网站首页加载慢优化
  • 网站建设与维护合同阿里云服务器免费
  • 百度网站怎样做推广深圳logo设计公司推荐
  • 网站uv pvWordPress程序主题转为app
  • 聊天网站建设手机网站 html
  • 长沙网站推广公司排名南宁建设集团招聘信息网站
  • 如何查网站开发商广告传媒有限公司