-1

次のコードがあります。

public class GUI 
{
    public void threadTask()
    {
        while(MY_GLOBAL_VARIABLE)
        {
            // do something
        }             
    }
}

// Execute Thread
GUI gui = new GUI();
Thread t = new Thread(threadTask);
t.Start();

これは面倒な方法のようです。それを参照して即座に殺す方法はありますか? ありがとう!

更新:私に反対票を投じた人は誰ですか、読むことを学びましょう!タイトル、タグ、コードで「殺そうとしている」ものを明確に指定しました。少なくとも次回は、投票する前に投稿を読んでください。

4

2 に答える 2

2

あなたが持っているものは問題ありません。スレッドは処理が終了するとすぐにクリーンアップされます。

于 2013-05-11T16:06:27.700 に答える
1

スレッドを強制終了/破棄しません。IDisposable はありません。

スレッドの開始をメソッドに入れることができるので、最初に終了したときに複数回呼び出すことができます。

以下を使用できます。

t.Join(); 

スレッドが終了したときにキャッチします。

Join() の呼び出しは、スレッドの割り当てを解除するものです。他に何もする必要はありません。スレッドが終了する前に、スレッドが使用している可能性のあるすべてのリソースをクリーンアップすることを確認してください。

于 2013-05-11T16:06:05.840 に答える