How can i implement fork-join() functionality without using the fork join construct in system verilog

Thank you sai_pra99.
Solution is as best as possible, with only one problem.

For your code the simulated out put look as follows:
[1] Executing process 1
[1] Executing process 2

if the same was in fork-join the output would look as follows:
[0] Executing process 1
[0] Executing process 2

There is a clock cycle delay happening as we wait for the event to trigger. If there is a way to avoid that also, the solution is perfect.

thanks