线程本地化是否意味着线程安全?

5

具体来说,我正在谈论Python。我试图通过不传递对象的值来查看它的值(只是一点点),我想知道是否可以使用线程本地变量来实现这一点。此外,您如何处理这样的事情?

1个回答

8
不是线程本地的意思是每个线程都有自己的变量副本。使用它是(至少通常)线程安全的,因为每个线程都使用自己的变量,与其他线程可访问的同名变量分开。然而,它们通常不适用于线程间通信。

那么,我可以在module_x中使用my_psuedo_global = threading.local()设置一个变量,然后在稍后的module_y中以某种方式访问它,而不会破坏线程安全性? - orokusaki
并不是真的--虽然你可以通过(伪)全局变量将一个线程本地变量的值传递给另一个,但在这样做时需要同步访问全局变量。 - Jerry Coffin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接