gpt4 book ai didi

c# - 在什么时候评估 Thread.CurrentThread?

转载 作者:行者123 更新时间:2023-11-30 18:51:58 26 4
gpt4 key购买 nike

在下面的代码中:

ThreadStart ts = new ThreadStart((MethodInvoker)delegate
{
executingThreads.Add(Thread.CurrentThread);
// work done here.
executingThreads.Remove(Thread.CurrentThread);
});
Thread t = new Thread(ts);
t.Start();

也许您可以看到我想跟踪我启动的线程,这样我可以在必要时中止它们。

但我担心 Thread.CurrentThread 是从创建 Thread t 的线程计算的,因此中止它不会中止生成的线程。

最佳答案

中止线程从来都不是一个好主意。如果您 100% 肯定您在要中止的线程中执行的任何任务都不会破坏其他任何地方的任何状态信息,那么您可能可以逃脱它,但即使在这些情况下也最好避免这样做。有更好的解决方案,比如标记线程停止,让它有机会清理它可能留下的任何困惑。

总之,回答你的问题,Thread.CurrentThread是在新线程开始执行时调用的方法中执行的,因此它将返回新线程,而不是创建新线程的线程(如果这有意义的话)。

关于c# - 在什么时候评估 Thread.CurrentThread?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6205876/

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