#04:Threadクラスのメソッド
このチャプターでは、Threadクラスの代表的なメソッドについて学習します。
import java.util.*;
import java.time.*;
import java.time.format.*;
public class Main {
public static void main(String... args) {
println("main start");
var t1 = new Thread(() -> {
println("t1 start");
for (var i = 0; i < 5; i++) {
println("t1");
}
println("t1 end");
});
var t2 = new Thread(() -> {
println("t2 start");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
println("割り込みが発生");
}
println("t2 end");
});
t1.start();
t2.start();
for (var i = 0; i < 10; i++) {
println("main");
}
try {
Thread.sleep(500);
t2.interrupt();
t1.join();
t2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
println("main end");
}
/**
* 時間を付与して文字列を出力
*/
static void println(String msg) {
System.out.println(
LocalDateTime.now().format(
DateTimeFormatter.ofPattern("mm:ss:n")) + " " + msg);
}
}