首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >并发篇-python并发通信-1

并发篇-python并发通信-1

作者头像
小团子
发布2019-07-18 10:58:48
6390
发布2019-07-18 10:58:48
举报
文章被收录于专栏:数据云团数据云团数据云团

1. 管理器负责与公共进程通信

2. 代理负责操作共享的空间

Manger对象的基本使用

一般常用的空间类型是:

1. mgr.list()

2. mgr.dict()

3. mgr.Queue()

线程间共享的全局变量与同步锁

你会发现print输出的 a = 2,为什么上一篇的输出不是这样呢?

因为线程属于同一个进程,因此它们之间共享内存区域。因此全局变量是公共的。

进程a:线程a1,线程a2

进程b:线程b1,线程b2

隔着进程,线程通信一样Manager,属于进程通信。

互斥锁:控制共享资源的访问

# 指定加减次数

>>> n = 1000000 # 线程锁

>>> lock = Lock()

# 加

>>> def incr(n):

# 申明全局变量

>>> global a

# 对全局变量 a 做 n 次加 1

>>> for i in range(n):

# 上锁

>>> lock.acquire()

# 解锁

>>> lock.release()

互斥锁和死锁

互斥锁是指锁住一个线程或进程执行,执行完后再执行下一个。

死锁是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档