【发布时间】:2015-02-20 17:22:53
【问题描述】:
我有一个像这样初始化的 ThreadClass
ThreadClass t = new ThreadClass();
Thread thread = new Thread(new ThreadStart(t.Run));
thread.Start();
我的 ThreadClass 有一个析构函数:
~ThreadClass(){ // some stuff }
这个析构函数被“错误地”调用。这意味着线程仍在运行并且工作正常。但是析构函数以不可预知的方式被调用。它并不是真正可重现的,但如果我设置断点并长时间运行我的代码,突然间析构函数被调用。是否有垃圾收集清理我的 ThreadClass。但如果是这样,为什么我的线程继续运行?
【问题讨论】:
-
你不应该使用析构函数。
标签: .net multithreading destructor