创建线程的三种方式

    xiaoxiao2022-07-07  162

    一、通过实现Runnable接口来创建Thread线程:

      步骤1:创建实现Runnable接口的类:

    class SomeRunnable implements Runnable {     public void run()     {       //do something here     } }

    步骤2:创建一个类对象:

    Runnable oneRunnable = new SomeRunnable();

    步骤3:由Runnable创建一个Thread对象:

    Thread oneThread = new Thread(oneRunnable);

    步骤4:启动线程:

      oneThread.start();

    注释:线程的执行流程很简单,当执行代码oneThread.start();时,就会执行oneRunnable对象中的void run()方法,

    该方法执行完成后,线程就消亡了。

     

    二、通过实现Callable接口来创建Thread线程:

    其中,Callable接口(也只有一个方法)定义如下:

    public interface Callable<V>    {        V call() throws Exception;    } 

    步骤1:创建实现Callable接口的类SomeCallable<Integer>(略);

    步骤2:创建一个类对象:

    Callable<Integer> oneCallable = new SomeCallable<Integer>();

    步骤3:由Callable<Integer>创建一个FutureTask<Integer>对象:

    FutureTask<Integer> oneTask = new FutureTask<Integer>(oneCallable);

          注释:FutureTask<Integer>是一个包装器,它通过接受Callable<Integer>来创建,它同时实现了Future和Runnable接口。

    步骤4:由FutureTask<Integer>创建一个Thread对象:

    Thread oneThread = new Thread(oneTask);

    步骤5:启动线程:

    oneThread.start();

    至此,一个线程就创建完成了。

     

    三、通过继承Thread类来创建一个线程:

    步骤1:定义一个继承Thread类的子类:

    class SomeThead extends Thraad {     public void run()     {      //do something here     } }

    步骤2:构造子类的一个对象:

       SomeThread oneThread = new SomeThread();

    步骤3:启动线程:

    oneThread.start();

    至此,一个线程就创建完成了。

           注释:这种创建线程的方法不够好,主要是因为其涉及运行机制问题,影响程序性能。

    原文地址:创建线程的几种方式:https://www.cnblogs.com/wxw7blog/p/7727510.html

     

    最新回复(0)