在确定感兴趣的特定线程后,是否可以以编程方式在运行时获取其位置?
换句话说,我想看看这个线程当前正在执行哪种方法:
var enforcementThread = System.Threading.Thread.CurrentThread;
我知道在VisualStudio中进行调试时,我可以在“线程”窗口中找到此信息,但我很难知道是否可以在代码中获取。
我的目标是在长时间运行的过程中定期记录我正在监控的线程的位置。
答案 0 :(得分:1)
您将根据定义引入竞争条件 - 当另一个线程观察到观察到的线程 正在执行MethodX
时,它可能已转移到MethodY
- 因为它会不断运行。或者,您可以在观看时观察MethodX
,但它大部分时间都在MethodY
。您可以使用调试器和分析器完成您想要做的事情 - 这将是您最好的选择,也是最可靠的。