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..."); } }