nodejs-book
nodejs-book copied to clipboard
Node.js 개정 2판 초판 5쇄 3장 134쪽 문법 오류
134쪽 3장 prime-worker.js 파일
if(isMainThread){} 안에 있는 const range = Math.ceil((max - min) / threadCount); 문장.
ceil이 아니라 floor인 것 같습니다. 확인 바랍니다.
threadCount = 8, max = 11, min = 2로 설정 시 range = 2가 되며 start도 2 만큼 증가가 됩니다.
쓰레드가 총 8개인데 처음 7개의 각 쓰레드의 start가 차례대로 2 4 6 8 10 12 14 이며
마지막 쓰레드 range는 2 + ( (11 - 2 + 1) % 8) = 4 즉 range = 4가 됩니다. start도 16 이 되므로 max 값은 11으로 지정했는데 ceil 함수로 인해 range 값이 올라감으로 max 값이 20 이 되어 버립니다.
ceil이 아니라 floor가 올바른 정답입니다. 아니면 정정 바랍니다.
Math.floor로 하고 마지막 range는 max - start로 단순화시켰습니다.