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

Java中如何创建操作线程

在java中提供了一个Thread 类

1.继承Threa类创建线程

在这里每一个线程是独立的逻辑 ,主线程和创建的线程会兵分两路,并发(并行+并发)执行,所有运行结构是一会是“hello Thread”,一会是“hello main”,交替打印,并且“hello Thread”不一定先执行。因此达到了并发编程的效果,能够高效使用cpu多核资源

但当我们把start改成run

这时就没有创建出另一个线程,只有一个主线程,就会在主线程里依次执行代码,打印的结构就是一值循环打印“hello Thread”,永远不会打印到“hello main"。

2.实现接口创建线程

使用Runnable的写法,和直接继承Thread之间的区别,主要就是解耦合

首先明确,创建线程,需要进行的两个关键操作: 1.明确线程要执行的任务

2.调用系统api创建出线程

任务本身,不一定和线程概念相关,我们可以把任务本身给提取出来,此时就可以随时把代码改成使用其他方式来执行这个任务。

3.使用匿名内部类

Thread的匿名内部类

Runnable的匿名内部类

上面这个代码还能简化一些,如下所示:

4.基于lambda表达式(推荐)

创建线程的方法除了上面这几种,还有其他的方法例如基于线程池,基于callable等方法创建线程。

相关文章:

  • 【Tip】MathType中输入空格符号
  • Indocia启动$INDO代币预售第一阶段 - 100% 社区安全,具有真正的盈利潜力
  • 【Python】如何查找电脑上的Python解释器
  • 【回眸】error: failed to compile `xxxxxx`重装rust环境
  • Unocss 类名基操, tailwindcss 类名
  • 【错误记录】Windows 命令行程序循环暂停问题分析 ( 设置 “ 命令记录 “ 选项 | 启用 “ 丢弃旧的副本 “ 选项 | 将日志重定向到文件 )
  • SpringBoot和微服务学习记录Day3
  • Java 自动装箱与拆箱:基本数据类型与包装类的转换
  • 【Java面试笔记:基础】1.谈谈你对Java平台的理解?
  • pip永久换镜像地址
  • 解决Chrome浏览器访问https提示“您的连接不是私密连接”的问题
  • DSRAM介绍
  • 【NCCL】transport建立(一)
  • c++学习之---vector
  • 【集群IP管理分配技术_DHCP】二、DHCP核心功能与技术实现
  • 实训Day-1 漏洞攻击实战
  • 深入解析React.lazy与Suspense:现代React应用的性能优化利器
  • 【网络安全】CI/CD 流水线漏洞
  • 动态监控进程
  • 固定总价合同工程范围变更,如果规避风险
  • 一季度全社会用电量同比增长2.5%,3月增速显著回升
  • 嘉兴乌镇一化工公司仓库火灾后,当地召开火灾警示现场会
  • 台积电一季度净利增长六成,预计今年AI芯片营收增长一倍
  • 接续《莱茵的黄金》,国家大剧院带来7国艺术家的《女武神》
  • 四川一季度GDP15246.92亿元,同比增长5.5%
  • 美联储主席警告:特朗普关税政策“极有可能”推高物价