如果我以下列方式开始一个帖子
Thread newThread = new Thread(new ParameterizedThreadStart(MyThreadMethod));
Object myObject = new Object();
newThread.Start(myObject);
我可以在完成任务后找出它对myObject做了什么吗?
// at some point later
if(newThread.ThreadState == ThreadState.Stopped)
{
//access my object? how?
}
答案 0 :(得分:2)
你递给对象。因此,只需将您所携带的对象存储在您启动的线程旁边。不过要小心你用它做什么,否则你可能遇到有趣的线程问题。
答案 1 :(得分:1)
不确定。线程的停止决不会破坏传递给它的对象。只要仍然存在对象的引用,并且它没有被处理掉,它仍然可以使用。
然而,没有固有的方法来获取传递给Thread :: Start方法的值。相反,你必须保持对它的引用,可能是从你启动线程的地方开始。