How to kill a thread from multiple threads launched and wait for all the threads to complete

Is this the correct way to code the following Scenario ?

// ---------------------------------------------------------------------
// Launch four threads, Th1, Th2, Th3 and Th4.  When any thread finishes, kill
// thread Th3 and then print "Done" when all threads complete.
// ---------------------------------------------------------------------
program tmp;

initial
begin

fork
task Th1;
  #1000;
   $display("%0t: Th1 complete", $time);
endtask : Th1 

task Th2;
  #2000;
   $display("%0t: Th2 complete", $time);
endtask : Th2 

task Th3;
  #3000;
   $display("%0t: Th3 complete", $time);
endtask : Th3 

task Th4;
  #4000;
   $display("%0t: Th4 complete", $time);
endtask : Th4 
join_any
 // Kill Th2
  disable Th2;
wait fork;
   $display("%0t: Done", $time);
end

endprogram

In reply to azherkhan4018:

You should at least try to get your code to compile first. I think this is what you meant:

module tmp;
initial
  begin 
     fork
	begin : Th1
	   #1000;
	   $display("%0t: Th1 complete", $time);
	end : Th1 
	
	begin : Th2;
	   #2000;
	   $display("%0t: Th2 complete", $time);
	end : Th2 
	
	begin : Th3;
	   #3000;
	   $display("%0t: Th3 complete", $time);
	end : Th3 
	
	begin : Th4;
	   #4000;
	   $display("%0t: Th4 complete", $time);
	end : Th4 
     join_any
     // Kill Th3
     disable Th3;
     wait fork;
     $display("%0t: Done", $time);
  end 
endmodule : tmp

One thing you need to be careful with is if you try to move this code into a class, and there are multiple instances of that class, the disable statement kills all threads named Th3.