worker_pool.js

JavaScript•Mestre

Explorer

C40
C++40
C#40
Dart40
Go40
Java40
JavaScript
Iniciante10
Intermediário10
Avançado10
Especialista5
Mestre5
async_generator.js
proxy_reactive.js
worker_pool.js
observable.js
memo_weakmap.js
Kotlin40
Objective-C40
Perl40
PHP40
Python40
R40
Ruby40
Rust40
Shell40
Swift40
TypeScript40
worker_pool.js
Click to focus
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class WorkerPool {↵
   constructor(script, size = 4) {↵
       this.workers = Array(size).fill().map(() => new Worker(script));↵
       this.busy = new Set();↵
   }↵
   async exec(data) {↵
       const worker = this.workers.find(w => !this.busy.has(w));↵
       this.busy.add(worker);↵
       return new Promise(r => {↵
           worker.onmessage = e => {↵
               this.busy.delete(worker);↵
               r(e.data);↵
           };↵
           worker.postMessage(data);↵
       });↵
   }↵
}
0WPM•0%•0:00•0/483(0%)|Ln 1, Col 1
UTF-8•JavaScript

Exercícios Relacionados