2

Java マルチスレッドについていくつか質問があります。私は現在、マルチスレッドのさまざまな方法を学んでいます。私の最初の質問は、スレッド内のコードが実行された後、スレッドに何が起こるかということです。スレッドを停止/強制終了する必要がありますか? 私は現在、スレッドごとにクラスを作成し、各クラスに Runnable を実装しています。次にnew ThreadClass();.、Thread クラスのコンストラクターで、「second」という名前のスレッドを作成するように設定しました。main メソッドに 2 回追加するnew ThreadClass()と、両方のスレッドの名前は「second」になりますか? ありがとう。

4

2 に答える 2

3

私の最初の質問は、スレッド内のコードが実行された後、スレッドに何が起こるかということです。スレッドを停止/強制終了する必要がありますか?

スレッドは、何もすることがなくなったときに停止します。ExecutorService がある場合は、終了時に shutdown を使用する必要があります。

main メソッドに new ThreadClass() を 2 回追加すると、両方のスレッドの名前は「second」になりますか?

あなたはコードを同じにしています。これは、スレッドの名前が同じでなければならないという意味ではありません (逆もまた同様です)。

于 2013-01-07T20:52:58.183 に答える
0

ではなくスレッドを意味していると思いますThreadClass

スレッドのrunメソッドが戻ると、スレッドは停止します。2 番目のスレッドでのみ名前を指定すると、そのスレッドだけが「second」という名前になります。最初のスレッドは影響を受けません。

スレッドを正常に終了させることができないため、可能な限りstopの呼び出しを避ける必要があります。

于 2013-01-07T20:57:57.830 に答える