需要多线程的
最典型的应用比如tomcat,tomcat内部采用的就是多线程,上百个客户端访问同一个web应用,tomcat接入后都是把后续的处理扔给一个衫隐新的线程来处理,这个新的线程最后调用到我们的servlet程序,比如doGet或者doPost方法。如果不采用多线程机制,上百个人同时访问一个web应用的时候,tomcat就得排队串行处理了,那样客户端根本是无法忍受那种访问速度的。还有就是需要异步处理的时候,需要使用多线程。比如taska和taskb要并行处理,单个线程只能串行处理,先梁慧做完taska然后再做taskb。如果想要多个task同时执行的话,就必须为每个task分配一个线程,然后通过java虚拟机或渣厅的线程调度,来同时执行多个任务。比如你的CPU是多核心的话,就可以让一个CPU执行一个线程。如果只有一个CPU的话,底层是按照分时复用的原则,各个线程按照时间片来获得CPU资源。
不过多线程
java多线程在web上的应用很多,struts不就是多线程的么。java多线程语用首大者先要考虑你的模块是否是可以支持并行的,并且多线程 *** 作的时候进来用线程池备唤,而不是自己手写多线程。还有多线程 *** 作的模块尽量注意不要出现超大对象,不然很可能会出现内存溢出或者程序假死的可能。多线程是个多面手,用好了很高效,用不好,问题特别多仿仿凯。并且还不好定位。
最后一句,慎用多线程。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)