EN551 2022-04-14 16:06 采纳率: 60%
浏览 43
已结题

请问操作linux线程和tomcat线程的关系?

用vmware装的ubuntuserver,分配单核,用springboot写了个简单的应用,写了一个接口什么也不干,纯粹为了测试tomcat并发的。tomcat配置 maxthread核minthread都是1个线程,用ab测试时,结果符合我的猜测,就是服务端就一个线程,客户的开再多线程也要等服务器这个唯一的线程慢慢处理,比如接口sleep 1ms的话,测试结果接近1千请求每秒;sleep 10ms ,结果接近100。但是问题是,tomcat配置为默认(初始化10线程最大200线程)时,ab 测试 -c参数设置很大时,还是用接口sleep 几ms来模拟耗时方便计算一点,结果出乎意料的达到几千甚至可以上万。
请问:操作系统的线程和java的 Thread是什么关系,系统单核tomcat也可以开很多线程吗

  • 写回答

2条回答 默认 最新

  • 吕布辕门 新星创作者: 后端开发技术领域 2022-04-14 16:50
    关注

    1、操作系统的线程和java的 Thread是什么关系?
    java JVM会根据不同的操作系统选择不同的多线程源语,一对一映射。
    2、系统单核tomcat也可以开很多线程吗?
    不能开很多,一般情况下默认都是NIO,如果服务器的CPU的核数有限,线程数太多会导致线程在CPU上来回切换,耗费大量的切换开销。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月21日
  • 已采纳回答 12月13日
  • 创建了问题 4月14日