gpt4 book ai didi

java - 多线程中的静态变量

转载 作者:行者123 更新时间:2023-12-04 09:03:23 26 4
gpt4 key购买 nike

I found that declaring a variable as static makes no sense多线程 .我认为,这是因为 every thread has its own stack .这是唯一的原因吗?

我知道static variables should be used within synchronized block .但为什么?

最佳答案

static makes no sense in Multi-Threading.



恐怕你在做相反的陈述 .静态变量是一种共享资源,可以用来在不同线程之间交换一些信息。我们在访问这样的共享资源时需要小心。因此,我们需要确保在多线程环境中对静态变量的访问是同步的。

every thread has its own stack



这是一个正确的说法。 Each thread has its own stack but they share the process heap.堆栈只保存局部变量,而不保存堆上的变量。静态变量存储在 PermGen堆的一部分,因此应该很好地保护对它们的访问。

关于java - 多线程中的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17500259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com