暂无分类
暂无标签
发布于2021-01-13 21:19 阅读(295) 评论(0) 点赞(5) 收藏(1)
0
1
2
3
4
5
6
7
比如同时下载好几个文件:
比如:对于单核的CPU处理多任务,操作系统会轮流的让各个任务交替去执行,但是交替速度非常快
对于多核的CPU处理任务,操作系统会给CPU每个内核安排一个任务执行,多个内核是真正的一起执行多个任务,这里需要注意的是多核CPU是并行的执行多任务,始终有多个任务一起执行
在python中,想要实现多任务可以使用多线程来完成
注意:一个运行的程序至少有一个进程
实例:
单进程代码,会运行3秒左右:
在导入了多进程包之后的代码,只需要执行1.5s就完成了:
注意:元组的参数顺序和原来函数的参数顺序要一致
这里使用的是需要注意,传入字典的key是参数的名字,value是参数的值
我们再在上面的两个函数进行增加代码,输出父进程的代码:
输出结果如下:
案例:
我们发现,即使主进程运行结束了,但是子进程还在继续运行,这里我们需要设置一个守护主进程
这样就能保证主进程关闭了,子进程就不会再后台运行了
import os
import multiprocessing
def copy_file(file_name, source_dir, dest_dir):
source_path = source_dir + '\\' + file_name
dest_path = dest_dir + '\\' + file_name
with open(source_path, 'rb') as source_file:
with open(dest_path, 'wb') as dest_file:
while True:
data = source_file.read(1024)
if data:
dest_file.write(data)
else:
break
def main():
source_dir = 'D:\\AAAAAAAAAAAAA\\eye'
dest_dir = 'D:\\AAAAAAAAAAAAA\\eyepursuit'
try:
os.mkdir(dest_dir)
except:
print('目标文件夹存在')
file_list = os.listdir(source_dir)
for file_name in file_list:
copy_file(file_name, source_dir, dest_dir)
# 使用多进程实现多任务拷贝
sub_process = multiprocessing.Process(target=file_name, args=(file_name, source_dir, dest_dir))
sub_process.start()
main()
print('已经为您拷贝成功!')
0
1
2
3
4
5
6
7
8
作者:吃点豆皮子
链接: https://www.pythonheidong.com/blog/article/764462/dbe136a66765a55c1a52/
来源: python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
Copyright © 2018-2019 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系z452as@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!