多线程数量设定
1 Web应用中使用多线程的情况有几种:
1.1 一个线程为快速响应请求,把一些其他业务操作让线程来做,而本线程测快速继续。
1.2 一些业务需要统一处理,用一些线程单独来做。
1.3 …想不出来在web应用中会有什么其他场景。
2 在用到多线程时,一般要启动几个线程来循环做,至于启动几个线程,则是根据统一类型任务的数量和频率,就是说平均一秒内有多少个任务等待执行。
2.1 如果任务很少,或者一秒内最多几个任务要执行,这样情况下,对于这类型的任务来说,只启动一个线程来循环执行任务队列中的任务就可以了。
2.2 如果任务很多,一秒内有几十条或更过的任务需要执行,这种情况需要利用系统最好性能了,系统同时执行的线程数量为机器的cpu核心数,所以设置线程数量和cpu核心数相近,线程数量一般设置为cpu数量+1。
2.3 线程数量还跟任务执行用到的资源有关系统,如任务中有IO阻塞等情况。这种执行时间可能很长的任务,可以设定线程数量多一些。
2.4 如果任务类型只是计算,只消耗cpu多话,设置线程数量等于cpu核心数即可。