特别是在Python中,如何在线程之间共享变量?
虽然我之前使用threading.Thread过,但我从未真正理解或看到变量如何共享的例子.它们是在主线和孩子之间共享还是仅在孩子之间共享?我什么时候需要使用线程本地存储来避免这种共享?
我已经看到很多关于通过使用锁来同步线程间共享数据访问的警告,但我还没有看到问题的一个很好的例子.
提前致谢!
我是一名来自 Python 背景的程序员,通常使用词法范围,我想了解动态范围。网上查了下,还是不太明白。例如,我读过这个页面,这让我觉得事情变得容易多了,尤其是代码片段:
#In Dynamic scoping:
const int b = 5;
int foo()
{
int a = b + 5;
return a;
}
int bar()
{
int b = 2;
return foo();
}
int main()
{
foo(); // returns 10
bar(); // returns 7
return 0;
}
#In lexical scoping:
const int b = 5;
int foo()
{
int a = b + 5;
return a;
}
int bar()
{
int b = 2;
return foo();
}
int …Run Code Online (Sandbox Code Playgroud)