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