python多进程技术(一)
2023-09-11 14:19:05 时间
代码如下:
from time import sleep,ctime
import threading
from time import sleep,ctime
import multiprocessing
def super_player(file,time):
for i in range(2):
print('Start palying: %s %s'%(file,ctime()))
sleep(time)
list = {'月亮惹的祸.mp3':3,'干就完了.mp4':4,'一起去草原.mp3':5}
threads =[]
for file,time in list.items():
t = multiprocessing.Process(target=super_player,args=(file,time))
threads.append(t)
if __name__ == '__main__':
for i in range(len(list)):
threads[i].start()
for i in range(len(list)):
threads[i].join()
#主线程
print('end: %s'%ctime())
我们利用 multiprocessing.Process 对象来创建一个进程。Process 对象与 Thread 对象的用法相同,也有 start(), run(), join()的方法。
multiprocessing.Process(group=None, target=None, name=None, args=(), kwargs={})
target 表示调用对象,args 表示调用对象的位置参数元组。kwargs 表示调用对象的字典。Name 为别名。Group 实质上不使用。运行结果如下:
C:\Python35\python.exe E:/project/mutil.py
Start palying: 一起去草原.mp3 Fri Aug 17 17:58:01 2018
Start palying: 干就完了.mp4 Fri Aug 17 17:58:01 2018
Start palying: 月亮惹的祸.mp3 Fri Aug 17 17:58:01 2018
Start palying: 月亮惹的祸.mp3 Fri Aug 17 17:58:04 2018
Start palying: 干就完了.mp4 Fri Aug 17 17:58:05 2018
Start palying: 一起去草原.mp3 Fri Aug 17 17:58:06 2018
end: Fri Aug 17 17:58:11 2018
Process finished with exit code 0
从运行结果中还是看出细微的差别,虽然利用多进程任务时间没有变化,但多程的结果显示是以进程组为顺序进行显示的。
Start palying: 一起去草原.mp3 Fri Aug 17 17:58:01 2018
Start palying: 干就完了.mp4 Fri Aug 17 17:58:01 2018
Start palying: 月亮惹的祸.mp3 Fri Aug 17 17:58:01 2018
Start palying: 月亮惹的祸.mp3 Fri Aug 17 17:58:01 2018
Start palying: 月亮惹的祸.mp3 Fri Aug 17 17:58:04 2018
Start palying: 干就完了.mp4 Fri Aug 17 17:58:01 2018
Start palying: 干就完了.mp4 Fri Aug 17 17:58:05 2018
Start palying: 一起去草原.mp3 Fri Aug 17 17:58:01 2018
Start palying: 一起去草原.mp3 Fri Aug 17 17:58:06 2018
相关文章
- 软件——python,主函数
- 机器学习-朴素贝叶斯原理及Python实现
- python之入门,你好,中国
- 【华为OD机试真题 python】统计文本数量【2022 Q4 | 200分】
- Eclipse Kepler SR2 + Python 3.4 + JDK7+Pydev3.4 搭建 python 开发环境(MAC)
- 使用python读写xlsx格式中的数据【pandas】
- Python爬虫技术--基础篇--常用第三方模块Pillow和requests
- Python爬虫技术--基础篇--进程和线程
- Python爬虫技术--基础篇--内建模块itertools,contextlib和urllib
- Python爬虫技术--基础篇--多进程
- Python爬虫技术--基础篇--错误,调试和测试(中)
- 源码编译vi过程中进行配置时报“checking if compile and link flags for Python are sane... no: PYTHON DISABLED”怎么办?
- Python迭代器与生成器
- tensorRT使用python进行网络定义
- Python之reduce
- Python机器学习零基础理解朴素贝叶斯
- 【转载】python的魔法方法———A Guide to Python's Magic Methods
- 用Numba:一行代码将Python程序运行速度提升100倍
- Python 基础 之 python 中 进程、线程、协程对比 区别和联系
- 关于Python ord()和chr()返回ASCII码和Unicode码的看法