Node.js - Worker Threads
Given this simplified worker pool code snippet, what will be logged to the console?
const { Worker } = require('worker_threads');
class WorkerPool {
constructor(size) {
this.workers = Array(size).fill(null).map(() => new Worker('./worker.js'));
}
runTask(task) {
return new Promise((resolve) => {
const worker = this.workers.pop();
worker.once('message', (result) => {
this.workers.push(worker);
resolve(result);
});
worker.postMessage(task);
});
}
}
const pool = new WorkerPool(2);
pool.runTask('task1').then(console.log);
pool.runTask('task2').then(console.log);
