1

次の方法でスレッドを開始すると

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?
}
4

2 に答える 2

2

あなたはそれにオブジェクトを渡しました。そのため、開始したスレッドと一緒に渡したオブジェクトを保存するだけです。ただし、それをどうするかについては非常に注意してください。そうしないと、興味深いスレッドの問題に遭遇する可能性があります。

于 2009-09-10T00:22:33.803 に答える
1

もちろん。スレッドを停止しても、スレッドに渡されたオブジェクトが破壊されることはありません。オブジェクトへの参照がまだあり、破棄されていない限り、引き続き使用できます。

ただし、Thread::Start メソッドに渡された値を取得する固有の方法はありません。代わりに、おそらくスレッドを開始した場所から、それへの参照を保持する必要があります。

于 2009-09-10T00:25:44.960 に答える