当前位置: 代码迷 >> Java Web开发 >> 求指教JAVA并发与多线程有关问题
  详细解决方案

求指教JAVA并发与多线程有关问题

热度:60   发布时间:2016-04-16 22:15:02.0
求指教JAVA并发与多线程问题
假如tomcat为每一个http请求分配一个线程访问web应用程序,在web应用程序中有new Thread(Runnable a).start()这样二行代码,是不是此时的线程数量是1*2+1?   1(tomcat线程)*2(java中new的两个线程+1java主线程),有200个并发量就是200*2+200吗? 是这个样子的吗
------解决方案--------------------
几个意思啊?
start一个就是多一个线程,怎么会是两个。

最简单的,你main函数是主线程,此时线程数为1,你在main里面再起个线程,此时就是1+1=2
------解决方案--------------------
引用:
假如tomcat为每一个http请求分配一个线程访问web应用程序,在web应用程序中有new Thread(Runnable a).start()这样二行代码,是不是此时的线程数量是1*2+1?   1(tomcat线程)*2(java中new的两个线程+1java主线程),有200个并发量就是200*2+200吗? 是这个样子的吗


应该是1(你假设的tomcat线程)+ 1(servlet里启动的线程)
你的web应用里是没有main线程的,main线程在tomcat里
------解决方案--------------------
200个并发就是200*2个线程
------解决方案--------------------
因为你每个线程里面只开启了一个线程,200个并发就是200*2

你理解的Web应用程序本身就是tomcat起来的线程