Fork in a for loop

Declaring the automatic variable outside the fork-join_none prints, 2,1,0 all at time 10ns.

        for (int i = 0; i<3; i++) begin
            automatic int j = i;     
            fork
                begin
                    print(j);
                end
            join_none
        end

I am really confused about what is actually happening here.