ok, I get it thanks!
iteration 1 (time 1ms): exec_2ms_1, queue(0) \\ queue is empty, first call of exec_2ms
iteration 2 (time 2ms): exec_2ms_2, queue(1) \\ one is added to the queue since I am still working on exec_2ms_1 while the second exec_2ms is requested
iteration 3 (time 3ms): exec_2ms_3, queue(1) \\finished the exec_2ms_1, still working on exec_2ms_2, exec_2ms_3 requested goes to queue
iteration 4 (time 4ms): exec_2ms_4, queue(1) \\finished the exec_2ms_1 and exec_2ms_2, working on exec_2ms_3, exec_2ms_4 requested goes to queue
iteration 5 (time 5ms): exec_2ms_5, queue(1) \\finished the exec_2ms_1,2,3, working on exec_2ms_4, exec_2ms_5 requested goes to queue
and so on ...
here: exec_2ms_X is the call of the function exec_2ms and X is the ith time the function is called