summaryrefslogtreecommitdiff
path: root/node_modules/webworker-threads/examples/quickIntro_multiThreadEvented.js
diff options
context:
space:
mode:
authoryo mama <pepper@scannerjammer.com>2015-04-04 01:00:59 -0700
committeryo mama <pepper@scannerjammer.com>2015-04-04 01:00:59 -0700
commitc7c22e3db1c826bcfb2bc66651ec480aae0d4ae0 (patch)
tree8546df448afef40d3814d2581f4dacff7cebb87f /node_modules/webworker-threads/examples/quickIntro_multiThreadEvented.js
Diffstat (limited to 'node_modules/webworker-threads/examples/quickIntro_multiThreadEvented.js')
-rw-r--r--node_modules/webworker-threads/examples/quickIntro_multiThreadEvented.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/node_modules/webworker-threads/examples/quickIntro_multiThreadEvented.js b/node_modules/webworker-threads/examples/quickIntro_multiThreadEvented.js
new file mode 100644
index 0000000..bd7f4c1
--- /dev/null
+++ b/node_modules/webworker-threads/examples/quickIntro_multiThreadEvented.js
@@ -0,0 +1,30 @@
+var numThreads= 10;
+var threadPool= require('webworker-threads').createPool(numThreads);
+threadPool.load(__dirname + '/quickIntro_evented_childThreadCode.js');
+
+/*
+ This is the code that's .load()ed into the child/background threads:
+
+ function fibo (n) {
+ return n > 1 ? fibo(n - 1) + fibo(n - 2) : 1;
+ }
+
+ thread.on('giveMeTheFibo', function onGiveMeTheFibo (data) {
+ this.emit('theFiboIs', fibo(+data)); //Emits 'theFiboIs' in the parent/main thread.
+ });
+
+*/
+
+//Emit 'giveMeTheFibo' in all the child/background threads.
+threadPool.all.emit('giveMeTheFibo', 35);
+
+//Listener for the 'theFiboIs' events emitted by the child/background thread.
+threadPool.on('theFiboIs', function cb (data) {
+ process.stdout.write(" ["+ this.id+ "]"+ data);
+ this.emit('giveMeTheFibo', 35);
+});
+
+(function spinForever () {
+ process.stdout.write(".");
+ process.nextTick(spinForever);
+})();