为什么cpu要一心二用:浅谈多线程编程的一个具体例子

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

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

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

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

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值