目录

1.多任务的概念

2.单核CPU是怎么解决多任务的?

3.多任务的执行方式:并发和并行

4.单任务的执行例子:

5.多任务的执行例子:


1.多任务的概念

简单地说,就是操作系统可以同一时间执行多个任务

在代码里面,就是一个程序有多个地方同时执行

打个比方,你一边用着这浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务

2.单核CPU是怎么解决多任务的?

单核:意味着同一时刻只能执行一件事情

操作系统轮流让各任务交替执行,任务1执行0.01秒,切换到任务2,任务2执行0.01,再切换到任务3,

执行0.01秒。。。。。这样反复的执行下去,每个任务都是交替执行的,但是由于CPU的执行速度实在是太快了,
    我们感觉就像是所有任务都在同时执行一样,这就是所谓的 “时间片轮转”  。

3.多任务的执行方式:并发和并行

并行: 真的多任务     (CPU的核数大于任务数量)

并发:  假的多任务     (CPU的核数小于任务数量)

真正的并行执行多任务只能在多核CPU上实现,但是,由于任务数量远远多于CPU的核心数量,所以,操作系统也会自动      把很多任务轮流调度到每个核心上执行。

4.单任务的执行例子:

import timedef sing():"""唱歌5秒钟"""for i in range(5):print("---正在唱唱歌---")time.sleep(1)def dance():"""跳舞5秒钟"""for i in range(5):print("---正在唱跳舞---")time.sleep(1)def main():sing()dance()if __name__ == '__main__':main()

运行的结果为:      先把唱歌执行完花费5秒钟,  再花费5秒钟执行完跳舞,  一共花费10秒钟

5.多任务的执行例子:

import time
import threadingdef sing():"""唱歌5秒钟"""for i in range(5):print("---正在唱唱歌---")time.sleep(1)def dance():"""跳舞5秒钟"""for i in range(5):print("---正在唱跳舞---")time.sleep(1)def main():t1 = threading.Thread(target=sing)t2 = threading.Thread(target=dance)t1.start()t2.start()if __name__ == '__main__':main()

执行结果:  唱歌和跳舞同步执行,执行一次花费1秒,所以一共执行花费5秒钟。

Python多任务(1.多任务的介绍、并发和并行概念及小例子)相关推荐

  1. 转一篇关于并发和并行概念的好文,附带大神评论

    转自:https://laike9m.com/blog/huan-zai-yi-huo-bing-fa-he-bing-xing,61/ 还在疑惑并发和并行? OK,如果你还在为并发(concurre ...

  2. C#多线程、并发与并行概念

    软件开发,网站开发过程中经常有并发,并行这样的多线程处理与应用.因此,有必要对其进行了解与掌握. 多线程: 在了解线程之前,要先知道进程这个概念.进程是一个具有独立功能的程序关于某个数据集合的一次运行 ...

  3. C#语法之---多线程、并发与并行概念总结

    转自:http://blog.csdn.net/qq_33290787/article/details/51790605 软件开发,网站开发过程中经常有并发,并行这样的多线程处理与应用.因此,有必要对 ...

  4. 进程、线程、并发和并行概念

    一.进程和线程 进程是一个运行起来的可执行程序.进程有三种状态: 就绪 进程获得了除了CPU外所有必要资源 运行 进程获得了所有资源,开始执行 阻塞 进程正在尚未满足要求,正在等待 线程是程序执行流的 ...

  5. 并发与并行概念认知(并发性不是并行性(并行性更好))

    并发和并行是程序重要概念,也是一种解决问题的思路.在golang创始人rob pike的演讲Concurrency is not Parallelism (it's better)举例花枝鼠烧书的例子 ...

  6. python基础代码事例-学习笔记:python3,代码。小例子习作(2017)

    http://www.cnblogs.com/qq21270/p/7634025.html 学习笔记:python3,一些基本语句(一些基础语法的代码,被挪到这里了) 日期和时间操作 http://b ...

  7. 操作系统中并发与并行的几个例子

    何谓并行? 何谓并发? 在单处理机系统中,下述并行和并发现象哪些可能发生,哪些不会发生? (1) 进程与进程之间的并行: (2) 进程与进程之间的并发: (3) 处理机与设备之间的并行: (4) 处理 ...

  8. python非阻塞输入_Python 命令行非阻塞输入的小例子

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  9. Python之路 34:并发与并行、锁(GIL、同步锁、死锁与递归锁)、信号量、线程队列、生消模型、进程(基础使用、进程通信、进程池、回调函数)、协程

    内容: 同步锁 死锁.递归锁 信号量和同步对象(暂时了解即可) 队列------生产者和消费者模型 进程(基础使用.进程通信.进程池.回调函数) 协程 一.并发并行与同步异步的概念 1.1.并发和并行 ...

最新文章

  1. python 苹果李子橙_Python模块知识6:OS、SYS模块
  2. 【django】配置项目日志【5】
  3. flink 运行一段时间 内存溢出_Flink之运行时环境
  4. LeetCode 56. 合并区间(优先队列)
  5. 源码分析参考:Scheduler
  6. 奇淫技巧之整形数组偏移量
  7. wxpython播放视频_使用wxpython显示网络摄像头视频闪烁
  8. 大鱼吃豆子游戏java_java swing开发简单的大鱼吃豆子小游戏,可用于毕业设计(附详细设计文档)...
  9. java读取scv文件
  10. AlphaGo Zero 强化学习算法原理深度分析
  11. 如何打开计算机控制面板,控制面板怎么打开 快速打开控制面板方法大全-电脑教程...
  12. 【渝粤教育】国家开放大学2018年春季 0034-21T现代管理原理 参考试题
  13. mysql的strict_linux关闭mysql strict mode的方法介绍
  14. 互联网大佬打脸啪啪啪啪史
  15. C++读书笔记:多态
  16. 域权限维持——黄金票据和白金票据
  17. 计算机无法加载加密文件,win10电脑加密,win10加密文件无法解密
  18. 数学建模常用算法汇总及python,MATLAB实现(五) —— 拟合
  19. 还用户一片净土:广告自动拦截功能明年登陆Chrome
  20. 500kV某变电站红外测温 检测技术方案

热门文章

  1. Struts2封装获取表单数据方式
  2. mongodb导出查询结果
  3. Elasticsearch系列「」学习路线
  4. BugKuCTF 加密 简单加密
  5. HTML/CSS——@font-face 规则
  6. Going Home
  7. 优化order by语句
  8. redis+aop防重复提交
  9. MyBatis-学习笔记11【11.Mybatis的缓存】
  10. Python实训day10am【Python中的地址引用、os模块】