added threading tutorials

Change-Id: I78303c0dfd4d3ab46a546e6f18d88ab898c0cacb
diff --git a/JavaScript Beginner Tutorial/03 Threading/Master.js b/JavaScript Beginner Tutorial/03 Threading/Master.js
new file mode 100644
index 0000000..a86a4a4
--- /dev/null
+++ b/JavaScript Beginner Tutorial/03 Threading/Master.js
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Christian Pontesegger and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Christian Pontesegger - initial API and implementation
+ *******************************************************************************/
+
+loadModule('/System/Scripting');
+
+print("Master start")
+print("==============================================");
+
+// create a shared object to be used in spawned threads
+file = new java.io.File("/root");
+setSharedObject("file", file);
+
+// spawn 2 engines
+engineA = fork("Thread A.js");
+engineB = fork("Thread B.js", "pass, some, delimited, script arguments");
+
+// wait for engines to be terminated
+join(engineA);
+join(engineB);
+
+print("==============================================");
+print("Master done")
\ No newline at end of file
diff --git a/JavaScript Beginner Tutorial/03 Threading/Thread A.js b/JavaScript Beginner Tutorial/03 Threading/Thread A.js
new file mode 100644
index 0000000..fc1c0aa
--- /dev/null
+++ b/JavaScript Beginner Tutorial/03 Threading/Thread A.js
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Christian Pontesegger and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Christian Pontesegger - initial API and implementation
+ *******************************************************************************/
+
+function sleep(time) {
+	start = java.lang.System.currentTimeMillis();
+	while (start + time > java.lang.System.currentTimeMillis())
+		;
+}
+
+loadModule('/System/Scripting');
+
+file = getSharedObject("file");
+print("Thread A: " + file);
+
+for (var i = 1; i< 15; i++) {
+	print("Thread A, " + i);
+	sleep(6);
+}
\ No newline at end of file
diff --git a/JavaScript Beginner Tutorial/03 Threading/Thread B.js b/JavaScript Beginner Tutorial/03 Threading/Thread B.js
new file mode 100644
index 0000000..9470611
--- /dev/null
+++ b/JavaScript Beginner Tutorial/03 Threading/Thread B.js
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Christian Pontesegger and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Christian Pontesegger - initial API and implementation
+ *******************************************************************************/
+
+function sleep(time) {
+	start = java.lang.System.currentTimeMillis();
+	while (start + time > java.lang.System.currentTimeMillis())
+		;
+}
+
+for each (arg in argv)
+	print("Argument: " + arg);
+
+loadModule('/System/Scripting');
+
+file = getSharedObject("file");
+print("Thread B: " + file);
+
+for (var i = 1; i< 10; i++) {
+	print("Thread B, " + i);
+	sleep(10);
+}
\ No newline at end of file