Python 有没有办法让线程彼此通信?

Python 有没有办法让线程彼此通信?,python,python-3.x,multithreading,Python,Python 3.x,Multithreading,嗨,我正试图让它,所以2线程将改变另一个,但我不能弄明白这是一个什么样的我有一个例子 s=0 def thing1(): time.sleep(1) s+=1 def thing2(): print(s) 当运行thing2时,它将打印0而不是秒,您需要使用一个信号量,这样每个线程就不会同时访问变量。但是,任何两个线程都可以使用global访问相同的变量s 导入线程 导入时间 s=0 sem=threading.Semaphore() def t

嗨,我正试图让它,所以2线程将改变另一个,但我不能弄明白这是一个什么样的我有一个例子

s=0
def thing1():
        time.sleep(1)
        s+=1
def thing2():
        print(s)

当运行thing2时,它将打印0而不是秒,您需要使用一个信号量,这样每个线程就不会同时访问变量。但是,任何两个线程都可以使用
global
访问相同的变量
s

导入线程
导入时间
s=0
sem=threading.Semaphore()
def thing1():
全球s
对于范围(3)内的uu:
时间。睡眠(1)
sem.acquire()
s+=1
sem.release()
def thing2():
全球s
对于范围(3)内的uu:
时间。睡眠(1)
sem.acquire()
印刷品
sem.release()
t=线程。线程(目标=线程1)
t、 开始()
t2=线程。线程(目标=线程2)
t2.start()

thing2
需要处于某种循环中使用信号量,这样
thing1
可以在更新变量后向
thing2
发送信号。什么是信号量?显示的代码中没有线程,只有两个函数。您实际上是如何创建和运行线程的?A,谢谢。
thing1
甚至不会运行;您正在尝试更新未初始化的局部变量,而不是全局变量
s