开发者社区> 问答> 正文

Java的线程模型是指什么?

Java的线程模型是指什么?

展开
收起
1358896759097293 2021-05-04 15:29:28 838 0
1 条回答
写回答
取消 提交回答
  • 45271990@qq.com

    用Java去写server端应用的时有很多框架,如Tom Kate后面可能会有JPA、Hibernate ORM 、JDBC等组件是通过一个NIO接收请求,接收到请求以后是交到一个thread pool,thread pool多线程可能并不是一种特别高效的处理并发的模型,下图可以看到一个g2e的规范,在thread的规范里面,一个外部容器怎样去处理并发的请求是通过在多线程里面去并行的调用service函数来达到的,标准导致这个事件必须通过线程池来提供并发能力。 6.png

    线程多会导致的问题,上图是一张实际的执行图,每一个竖条代表一个线程,每一个色块代表一个请求,如在只有一个核的机器上去启动4个线程,其实操作系统提供能力,会觉得请求是并发并行来执行的,实际上都是交替的执行分时复用的,看起来是并发的,实际是交替来执行,这中间就有一个切换开销是比较大的,是多线程的一个弊端。

    2021-05-05 22:47:10
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
多IO线程优化版 立即下载