成都

点击搜索

发布

java创建线程有几种方式?

区域:
成都 > 金牛 > 西安路
类别:
软件工程师培训
地址:
成都金牛区
  java创建线程有几种方式?

  成都华信智原Java培训老师在课堂上为大家讲解过Java线程的创建,成都华信智原Java培训机构老师现在为大家分享一篇java创建线程有几种方式?这几种方式有什么优劣?

  首先我们来看下老师给我们讲过的创建线程的“两种”方法:

  一、继承Thread类创建线程子类

  1.在这子类中重写run方法,在run方法内写线程任务代码

  2.创建该子类实例,即是创建了一个线程实例

  3.调用该实例的start方法来启动该线程

  二、建一个类去实现Runnable接口

  1.该类去实现接口的run方法,run方法内写线程任务代码

  2.创建该类实例,把该实例当作一个标记target传给Thread类,如:Thread t = new Thread(该类实例);即创建一个线程对象

  3.调用线程的star方法来启用该线程

  扩展一下第三种老师课上没讲过的创建线程方法:

  三、通过Callable接口和Future创建线程

  1.创建一个类去实现Callable接口,实现该接口的call方法

  CallableTest implements Callable{

  public Integer call(){}

  }

  2.创建实现Callable接口的类的实例,用FutureTask类来包装该对象

  CallableTest ct = new CallableTest();

  FutureTask ft = new FutureTask(ct);

  3.用FutureTask对象作为Thread对象的target创建并启动新线程

  Thread t = new Thread(ft);

  t.start();

  优劣:

  二、三两种方式是实现某接口,可以去继承其他类,操作相对灵活,并且能多个纯种共享一个对象Thread t = new Thread(ft);里面的ft对象能多个线程共享,劣势是编程相对复杂

  一种方式是继承Thread类,不能再继承其他类,编程相对简单
相关信息
武侯-武侯周边
2022-12-09
武侯-武侯周边
2022-12-08
武侯-武侯周边
2022-12-07
双流-东升
2022-12-07
武侯-武侯周边
2022-12-06
武侯-武侯周边
2022-12-05
查看更多成都电脑/网络信息

免责声明:此信息系发布者(UID:307782)自行发布,本站是服务平台,仅提供信息存储空间服务,该信息内容的真实性及合法性由该发布者完全负责。

© lieju.com 联系我们