Verilog blocking/nonblocking assignment in clk generator with self triggered

hi,
@clk and #10 clk = ~clk is blocking assignment, the two statement are scheduled at Active region,
but @clk and #10 clk <= ~clk, the first statement is scheduled at Active region and the sencond is scheduled at NBA region, when clk <= ~clk hanpen, the toggle of clk will reactive the @clk hanppen, and periodic trigger the non-blocking statement.

the generally writing style like below:

always #10 clk = ~clk; or
always #10 clk <= ~clk;

ps:no @clk condition

Thanks a lot!