最近在研究多线程,对JMM,Executor框架,ThreadPoolExecutor都有一定的了解了,但是不清楚在什么业务场景下使用多线程编程会有优势?比如就一般的使用SpringMVC+Spring+Mybatis的从Controller到Service再到Dao的流程,哪里能用多线程处理?多线程处理以后就能提高系统的QPS吗?
巴扎黑2017-04-17 17:57:54
Java 的 servlet 框架本身都是多執行緒的,只是這個執行緒有 webserver 幫你啟動,不是由使用者啟動而已。
一般來說如果是自己處理網路通訊的話,都是需要自己做多執行緒處理,或是做後台任務處理,也需要自己做多執行緒處理。
多執行緒的主要目的:
不block主執行緒任務(後台任務)
並發,提高吞吐量(網路多執行緒)