首页 >

为什么Java坚持多线程不选择协程? – 网络|

新ofo怎么关锁,百度商桥的代码在哪里,winrar.zip怎么打开为什么Java坚持多线程不选择协程? - 网络|为什么Java坚持多线程不选择协程

当大家希望引入协程,大家想解决什么问题。偶想不外乎下面几点:

节省资源,轻量,具体就是:节省内存,每个线程需要分配一段栈内存,以及内核里的一些资源节省分配线程的开销(创建和销毁线程要各做一次syscall)节省大量线程切换带来的开销与NIO配合实现非阻塞的编程,提高系统的吞吐使用起来更加舒服顺畅(async+await,跑起来是异步的,但写起来感觉上是同步的)大家分开来讲下。

先说内存。拿JavaWeb编程举例子,一个tomcat上的woker线程池的最大线程数一般会配置为50~500之间(目前springboot的默认值给的200)。也就是说同一时刻可以接受的请求最多也就是这么多。如果超过了最大值,请求直接打失败拒绝处理。假如每个线程给128KB,500个线程放一起的内存占用量大概是60+MB。如果真的有瓶颈,也许CPU,IO,带宽,DB的CPU等会有瓶颈,但这点内存量的增幅对于动辄数个GB的Java运行时进程来说似乎并不是什么大问题。


为什么Java坚持多线程不选择协程? - 网络|
  • Python爬取积分下载(教你如何利用Python技术获取积分下载资源) |python 3.0视频教程
  • Python爬取积分下载(教你如何利用Python技术获取积分下载资源) |python 3.0视频教程 | Python爬取积分下载(教你如何利用Python技术获取积分下载资源) |python 3.0视频教程 ...

    为什么Java坚持多线程不选择协程? - 网络|
  • Python中是否有if语句? |python引号作用
  • Python中是否有if语句? |python引号作用 | Python中是否有if语句? |python引号作用 ...

    为什么Java坚持多线程不选择协程? - 网络|
  • python编写好的代码怎么导出? |python delphi 比较
  • python编写好的代码怎么导出? |python delphi 比较 | python编写好的代码怎么导出? |python delphi 比较 ...