多任务
多任务就是同一时刻多个任务同时执行,例如开演唱会时明星一边唱歌一边跳舞,开车时眼 睛看路手操作方向盘。这些都是多任务场景。对于电脑来说多任务就是同时运行多个应用程序,例如qq、微信、浏览器等等同时在电脑上 运行。
那多任务用代码怎么实现呢?
直接上代码 最好linux运行
#windowns 不支持 linux 支持
import os
import time
ret=os.fork()
if ret==0:
while True:
print("-----1-----")
time.sleep(1)
else:
while True:
print("-----2-----")
time.sleep(1)
#gitpid 得到自己的进程号 getppid 得到父类的进程号
父子进程先后顺序
import os
import time
t=os.fork()
if t==0:
print("------子进程----")
time.sleep(5)
print("-----子进程over----",end="")
else:
print("-----父进程-----") #父进程不会因为子进程没进行完而等
什么是进程
我们想通过酷我听歌,具体的过程应该是先找到酷我应用程序,然后双击就会播放音乐。 当我们双击的时候,操作系统将程序装载到内存中,操作系统为它分配资源,然后才能运 行。运行起来的应用程序就称之为进程。也就是说当程序不运行的时候我们称之为程序,当 程序运行起来他就是一个进程。通俗的理解就是不运行的时候是程序,运行起来就是进程。 程序和进程的对应关系是:程序只有一个,但是进程可以有多个。
创建进程
#多进程 修改全局变量
import os
import time
g_num=100
t=os.fork()
if t==0:
print("------子进程----")
g_num=200
print("-----子进程over----g_num{}".format(g_num))
else: #在进程中 全局变量是一定的 父进程不会因为子进程改变了全局变量的值而去改变
time.sleep(3)
print("-----父进程-----")
print("------g_num{}----".format(g_num))
多个fork()
import os
import time
t=os.fork()
if t==0:
print("------子进程----")
else:
print("-----父进程-----")
t=os.fork()
if t==0:
print("------子进程1----")
else:
print("-----父进程2-----")
用Process创建进程
from multiprocessing import Process
import time
def test():
while True:
print("----test----")
time.sleep(1)
p=Process(target=test)
p.start()#开始进程 让这个进程开始执行test函数里的代码
#主进程会等待子进程先结束
#join("时间") 可以已设置主进程等待时间
while True:
print("----main----")
time.sleep(1)
Process子类创建子进程
from multiprocessing import Process
import time
class mynewProcess(Process):#继承Process 创建进程
def run(self):
while True:
print("----1----")
time.sleep(1)
p=mynewProcess()
p.start() #调用父类中的start方法 start方法可以调用 run方法
while True:
print("-----main-----")
time.sleep(1)
最后来个小游戏 尽量linux下运行
import os
os.fork()
os.fork()
while True:
os.fork(
拜拜
来源:CSDN
作者:郭大牛,-,
链接:https://blog.csdn.net/wwwsswww/article/details/103864067