Kindly revert me a exact behaviour of for loop by changing the "#0 delay" position for the below code

In reply to rohit1501:

My doubt is for the above code i am getting displays as below,

KERNEL: OOO=0,time=0

KERNEL: KKK=1,time=0

KERNEL: OOO=2,time=0

And if i uncomment the commented #0 delays, i am getting displays as below,

KERNAL: OOO=0,time=0

KERNEL: KKK=0,time=0

KERNEL: OOO=2,time=0

Doubt 1)Finally i couldn’t able to analyse how fork_join is giving priority for the given threads and how stratified event queue is applied for that #0 delays.
Doubt 2)How i am getting value 2 in both the displays if at all the for loop termination condition is i<2 though the display is inside the for loop.

Note:1>In all the simulators i am getting the same kind of result.
2># KERNAL is just about an KERNAL information.