Par exemple, un utilisateur entre 10 et 10 threads de travail sont créés pour exécuter une fonction. Je n'arrive pas à comprendre comment faire cela, j'ai regardé la doc et je suis en train de masquer.

2
Zac 13 nov. 2020 à 18:39

1 réponse

Meilleure réponse

Bon, d'abord, vous devrez obtenir une entrée utilisateur (stdin), l'analyser et la stocker dans une variable.

Ensuite, vous lancerez N workers avec une boucle for.

const readline = require('readline');
const Worker = require('worker_threads')
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    terminal: false
});

process.stdout.write('How many threads to start ? ')
rl.on('line', (line) => {
   // Here, line is the user input
   if(!isNaN(line)) {
       const n = Number(line)
       for(let i = 0;i < n;i++) {
          new Worker("filename")
       }
   }
   else throw Error('Input is not a valid number !')
})

Vous pouvez vous documenter sur les threads Worker ici : https://nodejs.org/api/worker_threads.html

Et sur Readline ici : https://nodejs.org/api/readline.html

2
Loockeeer 13 nov. 2020 à 16:04