-5

一般的な質問があります。Java の本を読んでいて、スレッドを使用するプログラムに出くわしました。本は、スレッドがマルチプロセッシングに使用されると述べました。私が書いたらそれを知りたい:

Thread t=new Thread(new classname);
t.start;
//after it some GUI code to display the input received from user in run method

run メソッドをオーバーライドしてユーザーからの入力を取得すると、入力を待ってから、フレームを開くなどの GUI タスクを実行するか、両方のタスクを同時に実行します。

4

1 に答える 1

1

それらは同時に起こります。(ロックまたはセマフォを使用してスレッドの 1 つをブロックしない限り。)

GUI スレッドが他のスレッドの入力処理に依存している場合、競合状態が発生します。したがって、他のスレッドが gui スレッドが必要とするものをすべて生成し終えるまで、その gui スレッドを確実にブロックする必要があります。

スレッドが必要な理由については、タスクを同時に実行できるようにして、プログラムがより高速にジョブを実行できるようにするためです。

于 2015-02-11T19:49:03.040 に答える