今書いてみたヘボサンプルを貼ってみるテスト。 with Ada.Text_IO; procedure Test is task type A_Task is entry Setup(Message: in String); entry Join; end A_Task; task body A_Task is begin Ada.Text_IO.Put_Line("* start!"); accept Setup(Message: in String) do Ada.Text_IO.Put("* "); Ada.Text_IO.Put(Message); Ada.Text_IO.Put_Line("!"); end Setup; loop select accept Join do Ada.Text_IO.Put_Line("* exit!"); end Join; abort A_Task; else Ada.Text_IO.Put("#"); delay 0.1; end select; end loop; end A_Task; type A_Access is access A_Task; A: A_Access; begin Ada.Text_IO.Put_Line("go!"); A := new A_Task; A.Setup("setup"); delay 1.0; A.Join; Ada.Text_IO.Put_Line("end!"); end Test;