even two initial blocks run in parallel. so what is the need of multithreading
In reply to Suhas BV:
I do not understand the context of your wording: multithreading. Two initial block running in parallel is just one example of multi-threading. Other constructs that introduce multi-threading include always, fork/join and continuous assignments.
Also, there is a difference between a SystemVerilog simulation thread, and the host operating system’s concept of a thread. So you need to explain your question in much more detail.