美文网首页
新建线程的几种方式

新建线程的几种方式

作者: 每日一坑 | 来源:发表于2019-03-06 16:35 被阅读0次

大家在日常工作中不知道有没有经常使用到线程,今天来聊聊新建线程的几种方式;

第一种是大家最熟悉的继承Thread,并重写run方法,

大家可以自己写看看

第二种则是实现Runable,并重写run方法

在主方法调用即可

第三种就是实现Callable接口,并重写call方法

在call里面执行大家想要的操作 用FutureTask封装Callable的实例,这是有返回值的

第四种则是用线程池创建线程

4.1

还有另外两种

4.2

第二种建立线程池的方式

4.3

第三种

总的来说,建立线程池有三种方法,建议大家用第二种和第三种,因为第一种不支持自定义拒绝策略,避免不了资源耗尽的风险

大家可以看看https://blog.csdn.net/xiaojin21cen/article/details/87269126

和https://my.oschina.net/wangyuzhan/blog/1559283

前三种方法的优劣在于,实现接口可以在继承其他的类,多个线程可以共享同一个target对象,所以非常适合多个相同线程来处理同一份资源的情况,从而可以将CPU、代码和数据分开,形成清晰的模型,较好地体现了面向对象的思想。但是要调用本线程就需要用Thread.currentThread()方法,而继承Thread的可以直接用this来代替,

Runnable和Callable的区别是,

(1)Callable规定的方法是call(),Runnable规定的方法是run().

(2)Callable的任务执行后可返回值,而Runnable的任务是不能返回值得

(3)call方法可以抛出异常,run方法不可以

(4)运行Callable任务可以拿到一个Future对象,表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果。通过Future对象可以了解任务执行情况,可取消任务的执行,还可获取执行结果。

相关文章

  • 新建线程的几种方式

    大家在日常工作中不知道有没有经常使用到线程,今天来聊聊新建线程的几种方式; 第一种是大家最熟悉的继承Thread,...

  • 多线程-GCD、NSOPeration

    1、 多线程 --生命周期:新建、就绪、运行、组赛、死亡 1.NSThread1> 开线程的几种方式 先创建,后启...

  • Android基础线程的多种状态

    线程有几种状态,分别是哪些? 1.New,新建状态,当程序new了一个线程后,线程就处于新建状态,此时线程还未启动...

  • Java 实现线程的方式有几种方式?带有返回值的线程怎么实现?

    Java 实现线程的方式有几种方式?带有返回值的线程怎么实现? 在Java线程开发中,有几种方法开启线程?假如需要...

  • 线程

    线程几种状态: 新建 -> 就绪 -> 运行 -> 阻塞 -> 死亡 线程安全就是多线程访问时,采用了加锁机制,当...

  • Java多线程 -- 02 线程生命周期

    1.线程的生命周期 一个线程要经历如下几种状态: 新建就绪运行阻塞死亡 (1)新建和就绪状态 新建:当使用new关...

  • Java线程Thread解析

    线程的状态 简单的来说,线程可以分为以下几种状态: 新建 (new) 就绪 (runnable) 运行中 (run...

  • 线程生命周期

    一.线程的几种状态 新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态 就绪: ...

  • 2019-01-25 零碎复习

    线程交互的几种方式 线程启动, A 启动 B, 线程终结, 不要用 Stop , 用 Interrupt 线程的等...

  • 线程的状态/安全隐患

    线程的状态 线程的几种状态 1.新建线程之后,开启start的那一瞬间:线程对象会进入可调度线程池中 2.star...

网友评论

      本文标题:新建线程的几种方式

      本文链接:https://www.haomeiwen.com/subject/jqcxpqtx.html