python3线程锁方法_python3线程中锁机制的介绍及使用

如果大家不清楚锁机制的话,那就一定要好好看下这篇文章,下面就是针对锁机制给大家详细介绍下怎么去使用以及基本的内容介绍,不同于大家在课堂上学习的知识,下面内容,主要将重点知识给大家做下讲解哦~具体内容一起来看下吧~

关于两个进程使用同步机制对Value对象修改:

主进程加100000次;子进程减100000次;

代码如下:import multiprocessing

from multiprocessing import Queue

from multiprocessing import Value, Array

g_value = Value('i', 0)

#对g_value处理封装成函数

def deal(gvalue, val):

gvalue.acquire()

gvalue.value += val

gvalue.release()

#进程函数, 共享内存必须通过参数传入

def func(gvalue):

i = 0

while i < 100000:

#加1

deal(gvalue, 1)

i += 1

if __name__ == "__main__":

print("g_value init value:", g_value.value)

#全局消息队列

main_msgq = Queue()

#消息队列必须通过参数传入到子进程,否则无效

p = multiprocessing.Process(target=func, args=(g_value,))

p.start()

i = 0

while i < 100000:

#减1

deal(g_value, -1)

i += 1

p.join()

print("g_value end value:", g_value.value)

结果:符合预期,最后g_value的值为0;g_value init value: 0

g_value end value: 0

如果还没弄懂锁机制是怎么使用的,那就用大家所说的,好记性不如烂笔头,直接套用代码到软件里运行起来吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值