为了让程序去"分心"做别的事情的时候,
可以减少等待时间,就好像你可以一边吃饭一边看电视,这里吃饭跟看电视就是两条不同的线程
而不是你要吃完饭才能看电视...(这就是单线程)
1.同时执行不同任务
2.希望能时刻准备处理用户的取消指令,需要有一个线程时刻监视鼠标或者键盘
3.分散任务
4.有一个进程可能陷入死循环,需要一个进程监视并适时强制终止它。
譬如说你需要在程序运行过程中额外处理一些逻辑操作,加入你在打印信息,同时需要等待外面给你发送停止的指令,这时你就可以以主线程来打印,另外创建一个线程来执行循环等待接收命令。