runnable interface in java runnable interface example in java java runnable interface runnable interface example runnable interface runnable vs thread runnable interface vs thread class runnable inteface vs extending thread class difference between runnable interface and thread class interface runnable runnable interface java
Runnable
Interface:
Runnable interface is one of the pre defined interface present in
package
called Java.Lang.*.
Runnable interface is an alternative mechanism for development of
multithreading applications. In some of the circumstances if derived class is
already
extending some base class and at the same time extending Thread Class
is not possible
because in java one derived class can extends only one base
class to avoid this multiple
inheritance problem the derived class needs to
implements Runnable interface
Runnable
interface contains only one method and whose prototype as follows:
Public abstract void run():
This method
is used for defining the logic of the thread. run() method of Runnable
interface is abstract method and run() method of thread class is defined with
null body.
Industry is always recommended to override abstract run() of
Runnable interface.
For Example:
Class thdemo
implements Runnable
{
Public void
run()
{
try{
for(int
i=1;i<=10;i++)
{
System.out.println(“value of i=”+i);
Thread.Sleep(1000);
}
catch(InterruptedException ie)
{
System.error.println(“problem in thread execution”);
}
}//run() method
}//thdemo class
Class thderive
{
Public static void
main(String args[])
{
Runnable r1=new
thdemo();
Thread t1=new
Thread(r1,”javajavax”);//Converting from Runnable reference
//into Thread Class Object.
System.out.println(“name of the thread
“+t1.getName());
System.out.println(“execution status of t1 thread before
start =”+t1.isAlive());
t1.start();
System.out.println(“execution status of t1 after
start=”+t1.isAlive());
}
}
Difference Between Runnable Interface and Thread Class ?
or
Why we are implementing
Runnable interface even though we have Thread Class
For creation of threads?
If we want to use
the applets and thread concepts as single combination, then by
extending applet
class and Thread class into single user defined class(i.e: multiple
inheritance), is not supported by classes in java. By using interfaces we can
overcome
multiple inheritance problem. So we are using Runnable interface by
implementing into user
defined class for thread creation when multiple features
are inheriting .
The Following
Example illustrate the concept of Runnable interface
The following
program implement scrolling message. By extending Thread class and
implementing
Runnable Interface into user defined class.
import java.awt.*;
import java.applet.*;
/*<applet code =”user” height=300 width=300>
</applet>*/
public class user extends Applet implements Runnable
{
String msg=”Welcome
to JavaJavax”;
public void init()
{
setBackground(color.CYAN);
setForeground(color.RED);
}
public void start()
{
Thread t1=new
Thread(this);//this refers to current class object which implements
//Runnable interface and converts into Thread Class object
t1.start();
}
public void run()
{
try{
while(true)
{
char ch=msg.CharAt(10);
msg=msg.SubString(1,msg.length());
msg=msg+ch;
repaint();
Thread.Sleep(1000);
}
}
catch(InterruptedException e)
{
System.out.println(“Problem in thread Execution”);
}
}//run()
public void
paint(Graphics g)
{
Font f=new
Font(“arial”,Font.BOLD,60)l
g.SetFont(f);
g.drawString(msg,100,100);
}
}//user class
No comments:
Post a Comment