Implementation of wait statement inside a fork join block

In reply to Soumyajit Ghosh:

You need to be using a join_none instead of join. Otherwise it gets stuck waiting for a bit to change that never does.

module tb#(int T=8);
  bit [8:0] abc;
  initial
      for(int i=0; i<T; i++)
        fork
          automatic int k = i;
          begin  
            wait(abc[k] == 1'b1);
            $display(i,,k,,,$time);
         end
        join_none
  
  initial
    begin
      
      abc[5] = 1'b1;
      
    #10  abc[2] = 1'b1;
      
      abc[7] = 1'b1;
      end
endmodule