Skip to main content

Thread Creation using Runnable interface




In java programming there are something predefined which is used to create a thread. The thread in java represent by the Object of your class which has the Thread property. So when you create a thread you have to just put some extended properties in your class due to which the behavior of Object of your class is like the thread.

There are two ways to create a thread.
  • First is , Implements Runnable interface in to your class, and defined run method declared by it
  • Second is Extends Thread class in to your class and override the run method.

Runnable interface

Runnable interface comes from java.lang package. Runnable interface has only one method declaired as follow

public interface Runnable
{
     public void run();
}
So to make a thread using the Runnable interface you have to define the run method. The run method is necessary to be thread of a normal class.
A thread, which is created based on an object that implements the Runnable interface, will execute the code defined in the public method run(). In other words, the code in the run() method defines an independent path of execution and thereby the entry and the exits for the thread. The thread ends when the run() method ends, either by normal completion or by throwing an uncaught exception.
The steps for creating threads using Runnable interface is as follows:
1.      A class implements the Runnable interface, providing the run() method that will be executed by the thread. An object of this class is a Runnable object.
2.      An object of Thread class is created by passing a Runnable object as argument to the Thread constructor. The Thread object now has a Runnable object that implements the run() method.
3.      The start() method is invoked on the Thread object created in the previous step. The start() method returns immediately after a thread has been spawned.

class A implements Runnable{
    public void run(){
        say();
    }
    public void say(){
        for(int i=0;i<10;i++){
            try{Thread.sleep(500);}catch(Exception e){}
            System.out.println("Hello "+i+" times");
        }
    }
}
class B implements Runnable{
    public void run(){
        say();
    }
    public void say(){
        for(int i=0;i<10;i++){
            try{Thread.sleep(500);}catch(Exception e){}
            System.out.println("Hi "+i+" times");
        }
    }
}





class ThreadDemo1{
    public static void main(String ar[]){
        A a1=new A();
        B b1=new B();
        Thread t1=new Thread(a1);
        Thread t2=new Thread(b1);
        t1.start();
        t2.start();
    }
}

Comments

Popular posts from this blog

Using HyperSQL (HSQLDB)

HSQLDB is a portable RDBMS implemented in pure java. It can be embedded with your application as well as can be used separately. It is very a small database that supports almost all features of the standard database system. It comes with small jar file that can be found in lib folder. The HSQLDB jar package is located in the /lib directory of the ZIP package and contains several components and programs. Core components of jar file are : HyperSQL RDBMS Engine (HSQLDB), HyperSQL JDBC Driver, Database Manager, and Sql Tool. Installing and Using Download: download latest release of HyperSQL database from http://hsqldb.org website and extract it. You will see following contents. Here "bin" directory contains some batch files those can be used to run a swing based GUI tool. You can use runManagerSwing.bat to connect to database, but database must be on before running it. Directory lib contains File hsqldb.jar . It is the database to be used by you. Running database First

How to handle values from dynamically generated elements in web page using struts2

Some time you will see the form containing the button " Add More " . This facility is provided for the user to get the values for unknown number of repeating for some information. for example when you are asking to get the projects details from user, you need to put the option to add the more project for the user since you don't known how many projects user have. In the HTML form, you repeat the particular section to get the multiple values for those elements. In Html page , you can put the option to add new row of elements or text fields by writing the java script or using JQuery API. Now, the question is that how to capture the values of dynamically generated text fields on the server. Using the servlet programming you can get the values by using getParameters() method that resultants the array of the parameter having the same name. But this limit you to naming the text fields in the HTML form. To ally this approach, you have to take the same name for t

Generating JTable from database table

package  process; import  javax.swing. * ; import  javax.swing.table. * ; import  java.sql. * ; /**  * This class create JTable from Database table.  * User program needs to specify database connection and corresponding atable name.  * @author Hemraj  */ public   class  TableToJTable {      //private String table;      private   Connection  con;      public   TableToJTable ( Connection  con ){          this .con = con;      }      /**      * This method return JTable object created from Database table having same data asn structure      * as in original table into database.      * @param table Name of the database table to be coverted to JTable      * @return JTable object that consist of data and structure of Database table      * @throws java.lang.Exception Original object is deferent, e.i either SQLException or NullPointerException      */      public   JTable   getTable ( String  table ) throws   Exception {          JTable  t1 = new   JTable () ;          D