В примере 4-callback.js используется очередь для вызова колбеков, однако каждый экземпляр семафора имеет свою очередь, а не общую, из-за чего потоки, которые не смогут сразу войти в критическую секцию, никогда не исполнят свой код.
classCountingSemaphore{constructor(shared,offset=0,initial){this.counter=newInt32Array(shared,offset,1);if(typeofinitial==='number'){this.counter[0]=initial;}this.queue=[];}}
В примере 4-callback.js используется очередь для вызова колбеков, однако каждый экземпляр семафора имеет свою очередь, а не общую, из-за чего потоки, которые не смогут сразу войти в критическую секцию, никогда не исполнят свой код.