python start方法_进程方法 run和start的区别
start() 方法来启动进程,真正实现了多进程运行,这时无需等待 run 方法体代码执行完毕而直接继续执行下面的代码:调用 Process 类的 start() 方法来启动一个进程,这时此进程处于就绪(可运行)状态,并没有运行,一旦得到 cpu 时间片,就开始执行 run() 方法,这里方法 run() 称为进程体,当进程结束后,不可以重新启动。
run() 方法只是类的一个普通方法,如果直接调用 run 方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行,还是要等待 run 方法体执行完毕后才可继续执行下面的代码,这样就没有达到写线程的目的。
验证:
import multiprocessing
import time
def download():
print('开始下载')
for i in range(3):
print('-----1------')
time.sleep(1)
def upload():
print('上传完毕')
for i in range(3):
print('-----2------')
time.sleep(1)
def main():
#queue = multiprocessing.Queue() #实例化队列
process1 = multiprocessing.Process(target=upload)
process2 = multiprocessing.Process(target=download)
process1.run()
process2.run()
if __name__ == '__main__':
main()
运行结果:
上传完毕
-----2------
-----2------
-----2------
开始下载
-----1------
-----1------
-----1------
如果使用start方法:
import multiprocessing
import time
def download():
print('开始下载')
for i in range(3):
print('-----1------')
time.sleep(1)
def upload():
print('上传完毕')
for i in range(3):
print('-----2------')
time.sleep(1)
def main():
#queue = multiprocessing.Queue() #实例化队列
process1 = multiprocessing.Process(target=upload)
process2 = multiprocessing.Process(target=download)
# process1.run()
# process2.run()
process1.start()
process2.start()
if __name__ == '__main__':
main()
执行结果:
上传完毕
-----2------
开始下载
-----1------
-----2------
-----1------
-----2------
-----1------
原文链接:https://blog.csdn.net/LCY133/article/details/107173364
python start方法_进程方法 run和start的区别相关推荐
- java8 默认方法_默认方法:Java 8的无名英雄
java8 默认方法 几周前,我写了一个博客,说开发人员学习新语言是因为它们很酷. 我仍然坚持这个主张,因为关于Java 8的事情真的很酷. 尽管毫无疑问,该节目的明星是添加了Lambdas和将函数提 ...
- python创建线程_多种方法实现 python 线程池
最近在做一个爬虫相关的项目,单线程的整站爬虫,耗时真的不是一般的巨大,运行一次也是心累,,,所以,要想实现整站爬虫,多线程是不可避免的,那么python多线程又应该怎样实现呢?这里主要要几个问题(关于 ...
- python dcf估值_估值方法梳理 把CFA二级书本中提及的企业估值方法在白板上全列了一遍。 一、 静心思考,绝对估值法(DCF、FCFF、FCFE、RI)... - 雪球...
来源:雪球App,作者: 写Python的田田,(https://xueqiu.com/7298445784/85273603) 把CFA二级书本中提及的企业估值方法在白板上全列了一遍. 一. 静心思 ...
- python正则化函数_正则化方法及Python实现
正则化有助于克服过度拟合模型的问题.过度拟合是偏差和方差平衡的概念.如果过度拟合,机器学习模型将具有较低的准确性.当我们的机器学习模型试图从数据中学习更多属性时,就会添加来自训练数据的噪声.这里的噪声 ...
- python论文排版_科研方法 | 论文排版攻略,请收藏!
征稿 当我们写学术论文尤其是毕业论文时,必然会涉及到论文格式排版问题.最常用的莫过于 Microsoft Office 系列了,其次便是国产的 WPS,如果时理工类论文或者社科类论文中涉及公式或者图表 ...
- python 凯利公式_蒙特卡罗方法验证凯利公式
说明 本文受知乎陈小米启发而写.有兴趣的朋友可以移步这里. 本文的代码完全是本人所撸. 问题描述 假想一个游戏.赢的概率是60%,输的概率40%.入场费随意交.如果赢了获得2倍的入场费金额(1赔1), ...
- 求解决方法_解决方法
求解决方法 Relationship management is one of the determining factors in the business health. One of the m ...
- python绑定内核_进程绑定CPU
进程绑定CPU 本文所讲述内容仅适用于linux环境 1. CPU亲和性 CPU亲和性是指进程在某个给定的CPU上长时间运行,尽可能少的迁移到其他处理器的倾向性.linux内核的进程调度器天生就具有这 ...
- java 底层方法_底层方法测试--【Java】
*********毫秒为单位********************** //开始时间 long beginTime=System.currentTimeMillis(); //结束时间 long e ...
最新文章
- docker配置cdn-容器内可以通过域名访问
- 黑客组织利用El Machete窃取全球政府超过100G数据
- mybatis 需要注意的点 MyBatis 插入空值时,需要指定JdbcType (201
- sublimeText3 工具
- 梳理各算法基础应用及场景
- 趣学python3(26)-pygame-蛇身运动
- 1.多彩的幕布CCLayerColor,CCLayerGradient
- 监控聚币网行情 并实时发送到微信
- java object转泛型_JAVA快速入门——基本结构、基本数据类型
- (2)verilog语言编写打两拍
- 【Java数据结构与算法】第十七章 二分查找(非递归)和分治算法(汉诺塔)
- “Hyperledger Fabric 是假区块链!”
- 数千万智能手机集体脱机?罪魁祸首是……
- 遥感基础编程语言IDL介绍
- 页面添加蒙版,但是不影响页面其他事件响应
- 3DMAx Panda Directx Exporter 导出 X插件
- calc桌面计算机,Calc1(桌面计算器)
- html中图片鼠标滑动的效果,JS DOM实现鼠标滑动图片效果
- css保持图片原始比例
- MNIST手写体数字识别数据集