Fork-join_none with delay

In reply to dave_59:

Hi Dave,
I came across a similar question

module t;
  initial
    begin
      $display("%0t main thread started",$time);
      fork
        print(20,"thread_0");
        print(10,"thread_2");
        print(15,"thread_1");
      join_none
      $display("%0t main thread finished",$time);
    end
  task  print(int time_t,string t_name);
   #(time_t)$display("[%0t] %s",$time,t_name);
  endtask  
endmodule

the output is
0 main thread started
0 main thread finished
[10] thread_1
[15] thread_1
[20] thread_1

but when code is modified to

module t;
  initial
    begin
      $display("%0t main thread started",$time);
      fork
        print(20,"thread_0");
        print(10,"thread_2");
        print(15,"thread_1");
      join_none
      $display("%0t main thread finished",$time);
    end
  task  print(int time_t,string t_name);
	$display("[%0d] %s",time_t,t_name);
  endtask  
endmodule

i got output as
0 main thread started
0 main thread finished
[20] thread_0
[10] thread_2
[15] thread_1
In both examples, task is static. can you please help