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

2.Java中创建线程

Java中创建线程的方式

  1. 继承Thread,重写run方法;
  2. 实现Runnable,重写run方法,配合Thread;
  3. 实现Callable,重写call方法,配合FutureTask和Thread;(底层还是run)
  4. 线程池;

示例-继承Thread类

@Slf4j
public class BusinessThread extends Thread {@Overridepublic void run() {log.debug("do something");}
}

或者使用匿名内部类的方式:

public static void main(String[] args) {Thread thread = new Thread(){@Overridepublic void run() {log.debug("do something");}};thread.setName("子线程");thread.start();}

示例-使用Runnable配合Thread

  • 这种方式相较于第一种的好处是,将【线程】和【任务(要执行的代码)】分开。
  • 可以使用lambda简化,这里不在赘述。
public static void main(String[] args) {Runnable runnable = new Runnable() {@Overridepublic void run() {log.debug("do something");}};Thread thread = new Thread(runnable);thread.setName("子线程");thread.start();}

示例-使用Callable配合FutureTask和Thread

public static void main(String[] args) throws ExecutionException, InterruptedException {FutureTask<Integer> futureTask = new FutureTask<>(new Callable<Integer>() {@Overridepublic Integer call() throws Exception {log.debug("do something");Thread.sleep(1000);return 200;}});// FutureTask继承了Runnable,可以作为Thread的入参Thread thread = new Thread(futureTask);thread.setName("子线程");thread.start();// get是阻塞方法Integer result = futureTask.get();log.debug("返回结果{}", result);}

总结

  • 方法一是把线程和任务合并在了一起,方法二将它们分开了。使用Runnable更容易和线程池等高级API配合,Runnable让任务类脱离了Thread继承体系,更灵活
http://www.dtcms.com/a/435191.html

相关文章:

  • 分段函数的傅里叶变换及其应用
  • 全网网站建设优化长江设计公司
  • 公司网站推广张家界网站建设
  • 英语学习-Saints037
  • 拧紧扭矩到达后电机是否过冲测试(拧紧策略算法系列)
  • 领码方案|微服务与SOA的世纪对话(1):从“大一统”到“小而美”
  • 【JS】什么是单例模式
  • 昆明网站建设优化企业wap网站 微信小程序
  • wordpress 网站统计插件网站建设网页开发
  • 网站内容维护费用灯光设计网站推荐
  • pink老师html5+css3day02
  • CTFHub 信息泄露通关笔记4:备份文件下载 bak文件
  • OverlayManager service, overlay, idmap, rro, android
  • 如何拆解一个Java项目?
  • C++ 泛型和特化
  • 【Linux篇】Linux指令进阶:从入门到熟练的实操指南
  • Orleans流系统时序图
  • 专业网站建设价格分析企业建设网站好吗
  • 活动日志系统集成指南
  • 弹幕网站是怎么做的软件开发工程师级别
  • 贵阳市建设局信息管理网站中国建设会计学网站
  • 函数简单传入参数的汇编分析
  • 怎样做已有网站的编辑维护大沥九江网站制作
  • 自己网站首页如何设置网站托管维护方案
  • 安卓基础组件024-底部导航栏
  • 【ROS2学习笔记】话题通信篇:话题通信项目实践——系统状态监测与可视化工具
  • 苏州门户网站平台推广员
  • ICT 数字测试原理 4 --电源监控电路(PMC)
  • 网站内页要不要加上关键词和描述广告型网站怎么做的
  • 深圳市建设局工程交易中心网站贵州 网站建设