什么情况下需要使用多线程编程?

最近在研究多线程,对JMM,Executor框架,ThreadPoolExecutor都有一定的了解了,但是不清楚在什么业务场景下使用多线程编程会有优势?比如就一般的使用SpringMVC+Spring+Mybatis的从Controller到Service再到Dao的流程,哪里能用多线程处理?多线程处理以后就能提高系统的QPS吗?

阅读 4.9k
1 个回答

Java 的 servlet 框架本身都是多线程的,只是这个线程有 webserver 帮你启动,不是由用户启动而已。

一般来说如果是自己处理网络通信的话,都是需要自己做多线程处理,或者做后台任务处理,也需要自己做多线程处理。

多线程的主要目的:

  1. 不block主线程任务(后台任务)

  2. 并发,提高吞吐量(网络多线程)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题