java - 如果我的程序中有多个线程,每个线程在技术上是否都有自己的堆栈?每个线程都有自己的堆吗?

标签 java multithreading

我一直试图在API中寻找这个问题的答案。 (以及 Google),但我无法找到任何直接讨论多线程程序中调用堆栈和堆状态的内容。

此外,同步对象是否会在两个堆栈之间翻转(假设它们是单独的堆栈)

最佳答案

它们共享堆,但每个线程都有自己的堆栈(否则它不知道自己在执行什么)。

没有任何事情会发生逆转(我不明白为什么你认为会发生这种情况)。对象无法同步,只能同步代码(通过获取对象的监视器或锁)。

关于java - 如果我的程序中有多个线程,每个线程在技术上是否都有自己的堆栈?每个线程都有自己的堆吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25192164/

相关文章:

java - 从现有数据库或 JPA 实体生成 XSD 架构

java - Java线程有树结构吗?

ios - 与主线程相比,何时应异步执行任务?

java - 贪吃蛇游戏 : How to deal with a interrupt thread and with a deadlock

linux - 多线程处理和并行处理到底有什么区别?

java - 如何在STS上停止循环进程 "Send Classpath Notification"

java - 在 Java 中警告克隆 ArrayList

java - 什么是NullPointerException,我该如何解决?

java.lang.NoClassDefFoundError : kotlin/jvm/internal/Intrinsics in libgdx 错误

c# - StreamWriter 多线程 C#