admin 管理员组

文章数量: 1086019


2024年4月30日发(作者:appletv3破解安装国内app)

python线程间通信的几种方法

Python作为一种高级编程语言,支持多线程并发编程。但是,

多线程并发编程也存在一些问题,例如线程间的通信。本文将介绍

Python中线程间通信的几种方法。

1.共享变量(Shared Variable)

共享变量是最常见、最简单的线程间通信方式。多个线程可以共

同访问同一变量,从而实现数据共享。

示例代码:

```

import threading

# 共享变量

num = 0

# 线程1:对共享变量num加1

def add_num():

global num

for i in range(1000000):

num += 1

# 线程2:对共享变量num减1

def sub_num():

global num

for i in range(1000000):

num -= 1

- 1 -

if __name__ == '__main__':

# 创建两个线程

t1 = (target=add_num)

t2 = (target=sub_num)

# 启动两个线程

()

()

# 等待两个线程执行完成

()

()

# 打印最终结果

print('num:', num)

```

输出结果:

```

num: -18181

```

可以看到,由于两个线程同时对共享变量num进行修改,导致最

终结果不是我们预期的0。这就是共享变量的问题所在:多个线程同

时对同一个变量进行修改,会导致数据不一致的问题。为了解决这个

问题,我们可以使用锁(Lock)来保证同一时间只有一个线程对变量

进行修改。

- 2 -


本文标签: 线程 变量 共享 结果 问题