当前位置: 首页 > news >正文

Java中线程创建的三种方式

一、继承Thread类,重写run方法

public class MyThread extends Thread {@Overridepublic void run() {System.out.println("I am a child thread");}
}
public class ThreadTest {public static void main(String[] args) {new MyThread().start();}
}
优点:
  • 获取当前线程使用this,无须使用Thread.currentThread()方法
  • 方便传参
缺点:
  • Java不支持多继承
  • 任务和代码没有分离,不能执行多份任务代码

二、 实现Runnable接口的run方法

public class ThreadTest {public static void main(String[] args) {Runnable task = new Runnable() {@Overridepublic void run() {System.out.println("runnable");}};new Thread(task).start();}
}
缺点
  • 任务没有返回值

三、使用FutureTask

public class ThreadTest {public static void main(String[] args) {FutureTask<String> futureTask = new FutureTask<>(new Callable<String>() {@Overridepublic String call() {return "hello";}});new Thread(futureTask).start();try {String result = futureTask.get();System.out.println(result);}catch (Exception e){e.printStackTrace();}}
}
http://www.xdnf.cn/news/895717.html

相关文章:

  • ROS2--导航仿真
  • 树莓派超全系列教程文档--(55)如何使用网络文件系统NFS
  • ABC 341
  • 复合组件通信
  • Python环境搭建竞赛技术文章大纲
  • 【连接器专题】案例:从可靠性测试报告来看SD卡座测试都需要用到哪些仪器
  • 山寨、染色和敏捷-《软件方法》全流程引领AI-第1章 05
  • ES集群磁盘空间超水位线不可写的应急处理
  • 2006-2020年各省用水总量数据
  • latex画表格
  • 【Modbus 通讯协议从入门到放弃二:实战】
  • [6-01-01].第12节:字节码文件内容 - 属性表集合
  • 【AAOS】【源码分析】用户管理(三)-- 用户启动
  • 1.3 fs模块详解
  • [蓝桥杯]植树
  • Web后端基础(Maven基础)
  • RC1110 could not open xxx_resource.rc
  • 《树上分组背包》题集
  • 架构师级考验!飞算 JavaAI 炫技赛:AI 辅助编程解决老项目难题
  • @Builder的用法
  • Python--pandas.qcut的用法
  • 如何通过ETLCloud实现跨系统数据同步?
  • Verilog状态机异常跳转解析
  • Modbus TCP 通信基础
  • linux应急响应检查脚本
  • C语言 标准I/O函数全面指南
  • Form开发指南-第二弹:基本配置与开发流程
  • 用ApiFox MCP一键生成接口文档,做接口测试
  • C++ 重载和模板
  • 离散数学_数理逻辑(三):一阶逻辑概念及一阶逻辑命题符号化