次のコードを検討してください。
class ThreadJoinTest{
public static void main(String[] arguments){
TimeUnit unit;
final Thread taskThread = new Thread(task);
taskThread.start();
taskThread.join(unit.millis(timeout));
}
}
それで、メインスレッドがtaskThread.join()
タイムアウト値で行を実行するとき、メインスレッドはtaskThread
そのタスクを完了するための十分な時間を与えていますか?これが結合メソッドの主な目的ですか?
次の場合はどうなりますか?
taskThread
タイムアウト期間の前に実行を終了しますか?- タイムアウトに達したが
taskThread
実行が終了していない場合はどうなりますか?taskThread
タスクを完了するチャンスはありますか? taskThread
メインスレッドは、正常に終了したため、またはタイムアウトに達したために結合が返されたことをどのように認識しますか?