summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/hjp5/examples/ThreadedPrimeNumberTools.java
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Master/Reference Architectures and Patterns/hjp5/examples/ThreadedPrimeNumberTools.java
downloadStudium-master.tar.gz
Studium-master.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/ThreadedPrimeNumberTools.java')
-rw-r--r--Master/Reference Architectures and Patterns/hjp5/examples/ThreadedPrimeNumberTools.java37
1 files changed, 37 insertions, 0 deletions
diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/ThreadedPrimeNumberTools.java b/Master/Reference Architectures and Patterns/hjp5/examples/ThreadedPrimeNumberTools.java
new file mode 100644
index 0000000..b162918
--- /dev/null
+++ b/Master/Reference Architectures and Patterns/hjp5/examples/ThreadedPrimeNumberTools.java
@@ -0,0 +1,37 @@
+/* ThreadedPrimeNumberTools.java */
+
+public class ThreadedPrimeNumberTools
+extends PrimeNumberTools
+implements Runnable
+{
+ private int arg;
+ private int func;
+
+ public void printPrimeFactors(int num)
+ {
+ execAsynchron(1,num);
+ }
+
+ public void printPrime(int cnt)
+ {
+ execAsynchron(2,cnt);
+ }
+
+ public void run()
+ {
+ if (func == 1) {
+ super.printPrimeFactors(arg);
+ } else if (func == 2) {
+ int result = super.getPrime(arg);
+ System.out.println("prime number #"+arg+" is: "+result);
+ }
+ }
+
+ private void execAsynchron(int func, int arg)
+ {
+ Thread t = new Thread(this);
+ this.func = func;
+ this.arg = arg;
+ t.start();
+ }
+} \ No newline at end of file