Kodrill

Java SE 17 Gold (1Z0-826-JPN) 試験 / 並列処理 ・ 無料問題 1/3

並列処理 問題1[Thread および Runnable を使用したスレッドの作成]

次のコードを実行したときの出力を選んでください。

Main.java
public class Main {    public static void main(String[] args) throws InterruptedException {        Thread t = new Thread(() -> System.out.print(Thread.currentThread().getName() + " "), "worker");        t.run();        t.start();        t.join();        System.out.println("end");    }}

選択肢

  • A.main worker end正解
  • B.worker worker end
  • C.worker main end
  • D.worker end

解説

run() を直接呼ぶと、新しいスレッドは作られず、呼び出したスレッド (main) で普通のメソッドとして実行されます。新しいスレッドで実行するのは start() を呼んだときで、このとき名前 "worker" のスレッドで処理が動きます。join() でそのスレッドの終了を待ってから end を出力するので、出力の順番は決まっています。

「並列処理」の無料問題

ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。