线程创建方式

方法一:继承Thread类,作为线程对象存在(继承Thread对象)
让线程等待的方法
Thread.sleep(200); //线程休息2ms
Object.wait(); //让线程进入等待,直到调用Object的notify或者notifyAll时,线程停止休眠

方法二:实现runnable接口,作为线程任务存在
Runnable 只是来修饰线程所执行的任务,它不是一个线程对象。想要启动Runnable对象,必须将它放到一个线程对象里。

方法三:匿名内部类创建线程对象
创建带线程任务并且重写run方法的线程对象中,为什么只运行了Thread的run方法。我们看看Thread类的源码,

image

,我们可以看到Thread实现了Runnable接口,而Runnable接口里有一个run方法。
所以,我们最终调用的重写的方法应该是Thread类的run方法。而不是Runnable接口的run方法。

方法四:创建带返回值的线程
返回指定泛型的call方法。然后调用FutureTask对象的get方法得道call方法的返回值。

方法五:定时器Timer

方法六:线程池创建线程

方法七:利用java8新特性 stream 实现并发

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺...
    OmaiMoon阅读 1,738评论 0 12
  • 继承Thread类: 步骤:①、定义类继承Thread;②、复写Thread类中的run方法;目的:将自定义代码存...
    hai_world阅读 1,427评论 0 0
  • JAVA多线程创建方法 第一种:继承Thread类 重写run方法 第二种:实现Runnable接口,重写run方...
    逆水寻洲阅读 341评论 0 0
  • 1.1 多线程介绍 学习多线程之前,我们先要了解几个关于多线程有关的概念。 进程:进程指正在运行的程序。确切的来说...
    Pecksniff1994阅读 1,611评论 0 2
  • Java多线程学习 [-] 一扩展javalangThread类 二实现javalangRunnable接口 三T...
    影驰阅读 3,022评论 1 18