13、多任务-多任务介绍

linux 是一个多用户多任务的操作系统。通过SSH可以多人同时远程操作一台电脑,同时打开多个客户端就是多任务。

多任务:多个函数一起跑。

vim 01-没有多任务的程序.py

思路:
调用main函数,在main函数里调用两个函数
.
for i in rang(5): rang(5)表示从0到4循环五次,要想5秒,就用time.sleep(1),表示延时1秒,用到time就导入time模块,即可达到每秒执行一次
,然后在for和time.sleep代码之间插入一行print代码,表示第一次开始“正在唱菊花茶”,持续1秒,然后开始第二次,再延时1秒,达到唱歌5秒种的代码效果

书写规范:
函数和函数之间空两行,函数和类之间也空两行

命令:
yyp复制def sing函数粘贴为一个跳舞的函数
dd删除整行,u是撤销
dw删除光标所在的单词

import time


def sing():
"""唱歌5秒种"""
	for i in rang(5):
	print("正在唱----菊花茶----")
	time.sleep(1)


def dance():
"""跳舞5秒种"""
	for i in rang(5):
	print("-----正在跳舞----")
	time.sleep(1)


def main():
	sing()
	dance()


if __name__ == "__main__"
	main()

以上代码的执行效果:先把唱歌5秒执行完成,再执行跳舞5秒,整个程序运行下来需要10秒钟,调整代码,应该5秒内同时完成唱歌和跳舞。

cp 01-没有多任务的程序.py 02-多任务-线程-demo.py

02-多任务-线程-demo.py**
要想实现两个函数一起执行,需要导入threading模块
用里面的Thread方法,将main函数中调用的其他函数的代码替换掉

import threading
import time


def sing():
"""唱歌5秒种"""
	for i in rang(5):
	print("正在唱----菊花茶----")
	time.sleep(1)


def dance():
"""跳舞5秒种"""
	for i in rang(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()

多任务实现原理:

单核CUP:CPU类似汽车里的发动机,电脑里最核心的芯片(在电路板上焊着,CPU的好坏直接影响电脑的快慢,CPU是一个硬件,电脑上所有的程序都运行在CPU上),单核CPU意味着同一时间只做一件事情,双核cup同时做两件事,现在一般都是四核CPU。

安卓手机越狱后可以模拟定位,搜索附近的人

单核CPU虽然同一时间只能做一件事,但是人为看到的是同时执行了很多事,因为每个程序轮流运行极短的时间,0.00001s,从而实现“一起执行”,假的多任务,时间片轮转。

如果四核CPU,四个程序不用轮流切换,可以同时运行,叫做“并行”,是真的多任务。

如果有8个任务,在四核CPU上运行,假的多任务,叫做“并发”。任务数多于cup核数是并发,任务数小于CPU是并行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值