From 3d7f8b0ca07d0abaeda2130be0b7ef23b9b0f49e Mon Sep 17 00:00:00 2001 From: Sascha Schulz <sschulz@dh-software.de> Date: Mo, 09 Dez 2024 14:51:16 +0100 Subject: [PATCH] add worker threads examples --- templates/010-nodejs/mt-main.js | 7 +++++++ templates/010-nodejs/mt-worker.js | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+), 0 deletions(-) diff --git a/templates/010-nodejs/mt-main.js b/templates/010-nodejs/mt-main.js new file mode 100644 index 0000000..d1c5b3a --- /dev/null +++ b/templates/010-nodejs/mt-main.js @@ -0,0 +1,7 @@ +const { Worker } = require('worker_threads'); + +const data = 'some data'; + +const worker = new Worker("./mt-worker.js", { workerData: data }); + +worker.on('message', message => console.log('Reply from Thread:', message)); diff --git a/templates/010-nodejs/mt-worker.js b/templates/010-nodejs/mt-worker.js new file mode 100644 index 0000000..e79646d --- /dev/null +++ b/templates/010-nodejs/mt-worker.js @@ -0,0 +1,18 @@ +const { workerData, parentPort } = require('worker_threads'); + +function isPrime(n) { + // Corner case + if (n <= 1) + return false; + + // Check from 2 to n-1 + for (let i = 2; i < n; i++) + if (n % i == 0) + return false; + + return true; +} + +const result = workerData.toUpperCase(); + +parentPort.postMessage(result); -- Gitblit v1.9.3