From 58e8ea943cc1e2250655f3ba198fd2c7061ad327 Mon Sep 17 00:00:00 2001 From: Karsten Jeppesen Date: Fri, 16 Apr 2021 11:48:43 +0200 Subject: [PATCH] ThreadsDemo: Added multilevel threads --- ThreadsDemo/src/Level1Interface.java | 26 ++++++++++++++++++++++++++ ThreadsDemo/src/ThreadsDemo.java | 7 +++++++ 2 files changed, 33 insertions(+) create mode 100644 ThreadsDemo/src/Level1Interface.java diff --git a/ThreadsDemo/src/Level1Interface.java b/ThreadsDemo/src/Level1Interface.java new file mode 100644 index 0000000..9c0a156 --- /dev/null +++ b/ThreadsDemo/src/Level1Interface.java @@ -0,0 +1,26 @@ +// +// Demo of thread starting a thread +// + +public class Level1Interface implements Runnable { + + private String MyString; + + public Level1Interface(String InitString) { + MyString = InitString; + } + + @Override + public void run() { + System.out.println(MyString + " Interface"); + ThreadsExtend myThreadA = new ThreadsExtend( MyString + "A" ); + myThreadA.start(); + try { + myThreadA.join(); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + System.out.println(MyString + " Interface...Done"); + } +} diff --git a/ThreadsDemo/src/ThreadsDemo.java b/ThreadsDemo/src/ThreadsDemo.java index 02f0fcc..fd1639f 100644 --- a/ThreadsDemo/src/ThreadsDemo.java +++ b/ThreadsDemo/src/ThreadsDemo.java @@ -7,6 +7,7 @@ public class ThreadsDemo { ThreadsExtend myThreadC = new ThreadsExtend("C"); Runnable myRunnableD = new ThreadsInterface("D"); Runnable myRunnableE = new ThreadsInterface("E"); + Runnable myRunnableF = new Level1Interface("F"); myThreadA.start(); myThreadB.start(); myThreadC.start(); @@ -14,14 +15,20 @@ public class ThreadsDemo { myThreadD.start(); Thread myThreadE = new Thread( myRunnableE ); myThreadE.start(); + Thread myThreadF = new Thread( myRunnableF ); + myThreadF.start(); try { myThreadA.join(); myThreadB.join(); myThreadC.join(); + myThreadD.join(); + myThreadE.join(); + myThreadF.join(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } + System.out.println("Main Done..."); } }