python并发编程之多进程(实践篇二)

本文介绍了Python中的守护进程,强调了守护进程在主进程结束后会终止且不能创建子进程。接着讨论了进程同步的重要性,通过加锁防止共享资源的竞争导致的数据错乱,以打印终端和文件共享为例,展示了未加锁和加锁后的并发执行效果,强调了加锁虽然牺牲了效率但确保了数据安全。
摘要由CSDN通过智能技术生成

守护进程

主进程创建守护进程

1)守护进程会在主进程代码执行结束后就终止

2)守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic processes are not allowed to have children

注意:进程之间是互相独立的,主进程代码运行结束,守护进程随即终止
复制代码

from multiprocessing import Process
import time
import random

class Run(Process):
def init(self,name):
self.name=name
super().init()
def run(self):
print(’%s is piaoing’ %self.name)
time.sleep(random.randrange(1,3))
print(’%s is piao end’ %self.name)

p=Run(‘anne’)
p.daemon=True #一定要在p.start()前设置,设置p为守护进程,禁止p创建子进程,并且父进程代码执行结束,p即终止运行
p.start()
print(‘主’)

复制代码
复制代码

#主进程代码运行完毕,守护进程就会结束
from multiprocessing import Process
from threading import Thread
import time
def foo():
print(123)
time.sleep(1)
print(“end123”)

def bar():
print(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值