A library to implement Goroutine-Like API with worker threads.
npm install node-routine


node-routine is a library to implement Goroutine-Like API with worker_threads.
Compared to using the worker threads low level API directly, node-routine can make your codes more elegantly, like:
```
await go(() => (Math.random()))

- Nodejs >= 11.7
- Nodejs >= 10.5 with --experimental-worker flag
`shell`
npm install -S node-routine
`javascript
const { go, init, shutdown } = require('node-routine')
// init a worker threads pool
init({
maxWorkerThreads: 2,
})
async function calc() {
// every routine will be executed in worker threads pool
const count = 10000
const num = await go(() => {
let total = 0
for (let i = 0; i < count; ++i) {
total += i
}
return total
}, { count })
return num
}
calc().then((total) => {
console.log('Got', total)
shutdown()
})
`
Env: Macbook Pro, 13-inch, 2018, 2.3 GHz Intel Core i5
Commend: npm run bench
```
✓ CPU intensive task using microjob (14ms)
✓ CPU intensive task using node-routine (4ms)
✓ IO intensive task using microjob (20163ms)
✓ IO intensive task using node-routine (5224ms)