什么是多线程,多线程就是多个执行序列。就是让cpu执行下这个序列,又执行下那个序列,不停地切换, 正所谓一心二用。

       考虑一个实际场景: 客户端要向服务端发送文件,服务端会对发送文件进行检查,如果文件的头信息非法,则立即通知客户端不必继续发送,那么这个场景应该怎么处理呢?

       1. 屎办法, 客户端先把文件发送完毕,然后服务端来检查。 这样肯定不好,假设文件是非法的, 那你后面发送的过程不就是无用功吗?

       2. 笨办法:客户端发送一点,立即看看服务端有没有非法通知, 然后再发送一点,再去看看, 再发,再看。 我晕,你晕不晕?显然没有一气呵成的感觉啊,程序员痛苦死了。

       3. 多线程:一个是发送线程,一个是去看看服务端有没有非法通知的监测线程。虽然从实质上来讲,发文件的过程也是断断续续的,但是,这在程序里并不会体现出来,程序员不用去考虑这个断续的过程,把切换任务交给cpu了,爽歪歪。


本文转载:CSDN博客