In reply to KalP:
Your problem is you are using an outer fork/join block instead of begin/end. So the for-loop, wait fork, and $display statements execute in parallel instead of in sequence.
In reply to KalP:
Your problem is you are using an outer fork/join block instead of begin/end. So the for-loop, wait fork, and $display statements execute in parallel instead of in sequence.