Confused in all variety of articles on MSDN.
There is a list of objects (processes), each of which is conditionally set to the value of CPU burst, which means how many ms the process will idle, simulating "process execution".
It is necessary to form a pool of N threads (the number is specified from an external file). Each thread must take the last element from the list and "process" it (expect the right time). After the "processing" is over, the thread must take another object from the list until they are finished. At the same time, only one stream should have access to the list at a time (the rest are waiting for their turn).