Hope this helps The Threadpool uses a Queue to enter "things to do" into and take "things to do" out from. when adding a task it will place it in a available slot, just have a look at the tread window in Visual Studio, you will see that it isn't a queue it is a fixed size array (can grow if becomes bigger) See image from "JustDecompile"
NgRx - Reducers priority and execution order against store
Does that help If different reducers are associated to the same action and are performing changes to the store, are they receiving the same version of it before any edit happens? Is there a priority to consider?
Execution order of Timeout and Promise functions(Main Tasks and Micro Tasks)
it helps some times I think output one and four are pretty clear. setTimeout is a part of Main Task queue while Promise is of Micro task queue that's why "three" and finally "two" is printed. Step by Step execution is as below:
List all the tasks for a given Process in the order of execution