首页 > 解决方案 > 使用 IDEA 调试时状态不一致

问题描述

我正在尝试使用 IDEA 调试 Hive,但是在我进入某个函数后线程局部变量发生了变化(实际上没有在当前线程中执行任何代码)。

这是发生的事情的快照: 1. 在 1986 行,所有线程都被挂起,并且Thread.currentThread().threadLocals.size是 23。 在此处输入图像描述

  1. 然后我step into那个函数: 在此处输入图像描述

当前线程根本没有做任何事情,而是Thread.currentThread().threadLocals.size更改为 26。

我知道我正在调试一个多线程程序,但是这里的 threadLocal 变量根本不应该改变。

谁能向我解释一下这里可能发生了什么?谢谢!

标签: javamultithreadingintellij-ideahive

解决方案


推荐阅读