线程是什么?
就是一个进程中独立运行的最小单位,比如:我们使用迅雷下载文件,迅雷支持同时下载多个文件,文件数也是可以自定义的,每一个文件的下载就是一个线程,而迅雷这个软件就是一个进程。
多线程是什么?
说到多线程,那就要先说说单线程。单线程的缺点很明显,我来举一个场景的例子:线程A被CPU执行,但是线程A中有一个IO操作,时间花费远远大于CPU的执行时间,所以后面的线程只有等待线程A执行完毕之后,才有机会执行,这种单线程执行的方式(同步)无法高效利用CPU,时间浪费也太多,而且用户需要等待,所以使用多线程处理顺应趋势。
什么场景需要使用多线程?
解析:1 耗时的操作使用线程,提高应用程序响应 2 并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。 3 多CPU系统中,使用线程提高CPU利用率 4 改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。 其他情况都使用单线程。(该解释来源于网络)
原文:https://www.cnblogs.com/codeXi/p/11428059.html