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

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

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

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

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

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

  1. 浅谈SQL注入风险 - 一个Login拿下Server(转)

    前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:"老师你这SQL有注 ...

  2. python实例编程_浅谈如何编程Python3——Python实例(3)

    浅谈如何编程Python3--Python实例(3) # 测试实例一 print("测试实例一") str= "runoob.com"print(str.isa ...

  3. 浅谈Socket编程

    浅谈Socket编程 说到Socket,想必大家会觉得陌生又熟悉.许多同学听说过Socket,但仅仅知道它翻译成中文叫做套接字,除此之外似乎并没有太多的了解了.那么今天我就来抛砖引玉地聊一聊Socke ...

  4. html 怪异模式,CSS_浅谈CSS编程中的怪异模式,怪异模式盒模型 今天学习了 - phpStudy...

    浅谈CSS编程中的怪异模式 怪异模式盒模型 今天学习了一下css3的box-sizing属性,顺便又温习了一下css的盒模型,最后觉得有必要对盒模型做一个全面整理. 先不考虑css3的情况,盒模型一共 ...

  5. python程序调用写好的代码_扣丁学堂浅谈Python编程中NotImplementedError的使用方法...

    扣丁学堂浅谈Python编程中NotImplementedError的使用方法 2018-07-04 14:08:02 2559浏览 本篇文章扣丁学堂 Python编程中raise可以实现报出错误的功 ...

  6. 浅谈函数式编程与 Java Stream

    CSDN 社区的小伙伴们大家好啊,许久不见- 在这一篇文章中,我将介绍函数式编程的基本概念,如何使用函数式编程的思想编写代码以及 Java Stream 的基本使用方法. 本文不会涉及到任何晦涩难懂的 ...

  7. 浅谈通信编程(二)--如何分离通信物理接口和应用程序

    如何分离通信物理接口和应用程序<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...

  8. 专题二:浅谈社交行业如何有效反欺诈

    社交APP的崛起,不仅慰藉了都市里孤独的灵魂,也为黑色产业提供了温床,社交平台如何自救? 据< 2019 网络黑灰产治理研究报告>估算:2019 年我国网络安全产业规模超过 500 亿元, ...

  9. 高频交易(二)浅谈高频交易中比较成熟的一些交易策略

    今天我们谈谈高频交易中比较成熟的一些交易策略,应用于数字货币市场. 引言: 高频交易是自动化交易的一种形式,以速度见长,利用计算机系统加入人工智能算法,以智能化方式,快速,稳健的短线持仓执行交易.其中 ...

最新文章

  1. 图解:人性的7种兵器(互联网商业逻辑)
  2. c拆分字符串,并按照指定格式存入结构体数组
  3. 修复kali grub引导
  4. win7 桌面右下角音量图标消失的解决办法 参考
  5. Android之使用PopupWindow让背景变黯但是华为手机出现屏幕一闪一闪问题解决办法
  6. linux内核源码目录结构(2.6.35.7版本)
  7. Linux文件解压缩
  8. 计算机维修主板,电脑维修|干货收好!自己就能修主板
  9. 素数c语言,C语言素数怎么表示
  10. 【BZOJ】2286: [Sdoi2011消耗战【虚树DP】
  11. xp系统计算机怎么连接到网络打印机,老司机教你win7如何连接共享xp打印机
  12. 【企业分析】拉勾、Boss直聘、猎聘
  13. windows11家庭版安装hyperv-v
  14. 2022年通信工程专业保研:从四非到浙大工院夏令营面试经验分享(前期准备篇/含通信原理面试真题)
  15. RPG Maker MV 打包安卓和修改分辨率的方法
  16. 计算机专业学习规划,计算机专业学习计划.doc
  17. 击中击不中变换的作用理解
  18. 通过对虚拟磁盘进行碎片整理来提高VMware VM性能
  19. 应用程序无法启动,错误代码0xc0000142
  20. linux select函数返回值,socket中的select函数使用

热门文章

  1. Flask - bootstrap模板使用 和 模板继承
  2. python中rect函数_使用类和函数的面向对象Python-rectangle
  3. 冒泡排序、插入排序、选择排序、希尔排序、堆排序、归并排序等常用排序算法的比较
  4. java json 解析_Java解析JSON的四种方式
  5. android读取运动数据权限_Android 10 中身体活动数据的隐私保护
  6. springboot整合jsp模板
  7. 面试蚂蚁金服(意外拿到offer)分享四面经历,从线程锁到数据库
  8. Android Studio 笔记3.3 相对布局
  9. 宏病毒组(四)|病毒注释软件介绍
  10. 一个快速测试PlayCanvas Demo 的工程(内附源码)