r19 JNTUK JAVA LAB ; Exercise-10

Exercise-10:

a)Extending Thread class

AIM: To write a JAVA program that creates threads by extending Thread class .First

thread display “Good Morning “every 1 sec, the second thread displays “Hello “every 2

seconds and the third display “Welcome” every 3 seconds ,(Repeat the same by

implementing Runnable)

SOURCE-CODEs:

(i)Creating multiple threads using Thread class

class A extends Thread

{

public void run()

{

try

{

for(int i=1;i<=10;i++)

{

sleep(1000);

System.out.println("good morning");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class B extends Thread

{

public void run()

{

try

{

for(int j=1;j<=10;j++)

{

sleep(2000);

System.out.println("hello");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class C extends Thread

{

public void run()

{

try

{

for(int k=1;k<=10;k++)

{

sleep(3000);

System.out.println("welcome");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class threaddemo

{

public static void main(String args[])

{

A a1=new A();

B b1=new B();

C c1=new C();

a1.start();

b1.start();

c1.start();

}

}


OUT-PUT:

good morning

hello

good morning

good morning

welcome

hello

good morning

good morning

hello

good morning

welcome

good morning

hello

good morning

good morning

welcome

hello

good morning

hello

welcome

hello

welcome

hello

hello

welcome

hello

welcome

welcome

welcome

welcome


(ii)Creating multiple threads using Runnable interface

class A implements Runnable

{

public void run()

{

try

{

for(int i=1;i<=10;i++)

{

Thread.sleep(1000);

System.out.println("good morning");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class B implements Runnable

{

public void run()

{

try

{

for(int j=1;j<=10;j++)

{

Thread.sleep(2000);

System.out.println("hello");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class C implements Runnable

{

public void run()

{

try

{

for(int k=1;k<=10;k++)

{

Thread.sleep(3000);

System.out.println("welcome");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class runnabledemo

{

public static void main(String args[])

{

A a1=new A();

B b1=new B();

C c1=new C();

Thread t1=new Thread(a1);

Thread t2=new Thread(b1);

Thread t3=new Thread(c1);

t1.start();

t2.start();

t3.start();

}

}


OUT-PUT:

good morning

good morning

hello

good morning

welcome

good morning

hello

good morning

good morning

welcome

hello

good morning

good morning

hello

good morning

welcome

good morning

hello

welcome

hello

hello

welcome

hello

welcome

hello

hello

welcome

welcome

welcome

welcome


(b)Implementing is Alive() and join()

AIM: To write a program illustrating is Alive and join ()

SOURCE-CODE:

class A extends Thread

{

public void run()

{

try

{

for(int i=1;i<=10;i++)

{

sleep(1000);

System.out.println("good morning");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class B extends Thread

{

public void run()

{

try

{

for(int j=1;j<=10;j++)

{

sleep(2000);

System.out.println("hello");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class C extends Thread

{

public void run()

{

try

{

for(int k=1;k<=10;k++)

{

sleep(3000);

System.out.println("welcome");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class isalivedemo

{

public static void main(String args[])

{

A a1=new A();

B b1=new B();

C c1=new C();

a1.start();

b1.start();

c1.start();

System.out.println(a1.isAlive());

System.out.println(b1.isAlive());

System.out.println(c1.isAlive());

try

{

a1.join();

b1.join();

c1.join();

}

catch(InterruptedException e)

{

System.out.println(e);

}

System.out.println(a1.isAlive());

System.out.println(b1.isAlive());

System.out.println(c1.isAlive());

}

}


OUT-PUT:

true good morning

true hello

true welcome

good morning hello

good morning hello

hello welcome

good morning hello

welcome welcome

good morning hello

hello hello

good morning welcome

good morning welcome

welcome welcome

hello welcome

good morning false

good morning false

hello false

good morning

welcome


c) Implementation of Daemon Threads

AIM: To write a program illustrating Daemon Threads

SOURCE-CODE:

class A extends Thread

{

public void run()

{

if(Thread.currentThread().isDaemon())

System.out.println("daemon thread work");

else

System.out.println("user thread work");

}

}

class daemondemo

{

public static void main(String[] args)

{

A a1=new A();

A a2=new A();

A a3=new A();

a1.setDaemon(true);

a1.start();

a2.start();

a3.start();

}

}


OUT-PUT:

daemon thread work

user thread work

user thread work

Comments