最近在研究多线程,对JMM,Executor框架,ThreadPoolExecutor都有一定的了解了,但是不清楚在什么业务场景下使用多线程编程会有优势?比如就一般的使用SpringMVC+Spring+Mybatis的从Controller到Service再到Dao的流程,哪里能用多线程处理?多线程处理以后就能提高系统的QPS吗?
巴扎黑2017-04-17 17:57:54
Java 的 servlet 框架本身都是多线程的,只是这个线程有 webserver 帮你启动,不是由用户启动而已。
一般来说如果是自己处理网络通信的话,都是需要自己做多线程处理,或者做后台任务处理,也需要自己做多线程处理。
多线程的主要目的:
不block主线程任务(后台任务)
并发,提高吞吐量(网络多线程)