"""
Author:黄骏捷
Date:2019-10-10
Python实现并发并发编程主要有3种方式:多进程,多线程,多进程+多线程
Unix和Linux提供了fork()系统调用来创建进程
windows系统没用fork调用,可以使用multiprocessing模块的Process类来创建子进程
使用多线程和不使用多线程的区别
#无多线程
from random import randint
from time import sleep, time
def download_task(filename):
print('开始下载%s...' % filename)
time_to_download = randint(5, 10)
sleep(time_to_download)
print('%s下载完成! 耗费了%d秒' % (filename, time_to_download))
def main():
start = time()
download_task('Python入门到入土.pdf')
download_task('Peking Hot.avi')
end = time()
print('总共耗费了%.2f秒.' % (end - start))
if __name__ == '__main__':
main()
"""
"""
多线程1
from multiprocessing import Process
from os import getpid
from random import randint
from time import sleep, time
def download_task(filename):
print('启动下载进程,进程号[%d].' % getpid())
print('开始下载%s...' % filename)
time_to_download = randint(5,10)
sleep(time_to_download)
print('%s下载完成!耗费%d秒' % (filename,time_to_download))
def main():
start = time()
#Process类创建进程对象,Target参数:传入一个函数,args:函数的参数
p1 = Process(target=download_task,args=('Python从入门到住院.pdf',))
p1.start()
p2 = Process(target=download_task,args=('Peking Hot.avi',))
p2.start()
p1.join()
p2.join()
end = time()
print('总共耗费了%.2f秒.' % (end - start))
if __name__ == '__main__':
main()
"""
#多线程2 subprocess模块中的类和函数来创建和启动子进程,然后通过管道来和子进程通信
#一个输出Ping 一个输出Pong 加起来输出
"""
from multiprocessing import Process
from time import sleep
counter = 0
def sub_task(string):
global co
Day13_Process_Thread
最新推荐文章于 2022-03-07 17:56:52 发布