Loading

创建线程的四种方式

image.png

一、继承Thread类

继承Thread类创建线程的步骤未:

  (1)创建一个类继承Thread类,重写run()方法,将所要完成的任务代码写进run()方法中;

   (2)创建Thread类的子类的对象;

   (3)调用该对象的start()方法,该start()方法表示先开启线程,然后调用run()方法;

二、实现Runnable接口

实现Runnable接口创建线程的步骤为:

    (1)创建一个类并实现Runnable接口

    (2)重写run()方法,将所要完成的任务代码写进run()方法中

    (3)创建实现Runnable接口的类的对象,将该对象当做Thread类的构造方法中的参数传进去

    (4)使用Thread类的构造方法创建一个对象,并调用start()方法即可运行该线程

三、实现Callable接口

实现Callable接口创建线程的步骤为:

   (1)创建一个类并实现Callable接口

   (2)重写call()方法,将所要完成的任务的代码写进call()方法中,需要注意的是call()方法有返回值,并且可以抛出异常

   (3)如果想要获取运行该线程后的返回值,需要创建Future接口的实现类的对象,即FutureTask类的对象,调用该对象的get()方法可获取call()方法的返回值

 (4)使用Thread类的有参构造器创建对象,将FutureTask类的对象当做参数传进去,然后调用start()方法开启并运行该线程。

四、使用线程池创建

      使用线程池创建线程的步骤:

   (1)使用Executors类中的newFixedThreadPool(int num)方法创建一个线程数量为num的线程池

   (2)调用线程池中的execute()方法执行由实现Runnable接口创建的线程;调用submit()方法执行由实现Callable接口创建的线程

   (3)调用线程池中的shutdown()方法关闭线程池

 

 

posted @ 2020-09-12 19:17  _bwang  阅读(430)  评论(0)    收藏  举报