线程的2种实现方式

基于单片机负载控制的无人机电气设备监测系统设计 为深入分析无人机电气设备的电子负载性能,实现对传输电子量的合理性监管与控制,设计基于单片机负载控制的无人机电气设备监测系统;利用电气信号发生电路,构建负载网络控制器与以太网模块运行所需的电气设备负载环境,借助PCB监控板建立PLC扩展负载模块与核心监控主机之间的物理连接关系,实现无人机电气设备监测系统的硬件执行环境搭建;在此基础上,通过STM32型单片机移植协议,确定无人机电气设备通信主机的现有组态形式,联合已设定的监控任务有线级条件,实现监测系统的软件执行环境搭建,完成基于单片机负载控制的无人机电气设备监 阅读详情
1.继承Thread类

声明一个内部(外部)类,假如名字叫做 Thread1,继承Thread类,重写(Override)其中的run方法。

定义一个类,里面再定义一个Thread1类型的对象,调用start()方法。

举个例子吧:

public class ThreadTest1 {
public static void main(String[] args){
    Thread1 t1 = new Thread1();
    t1.start();   
}
}

class Thread1 extends Thread{
    @Override   
    public void run(){
        for(int i=0;i<100;i++){
            System.out.println("Thread 111111-------"+i);
        }
    }
}

2.实现Runnable接口

声明一个内部(外部)类,假如名字叫做MyThread,实现Runnable接口,实现其中的run方法。

定义一个类,里面定义一个Thread类型的对象,把MyThread的对象当作参数传递进去,调用start方法。

public class ThreadTest2 {
public static void main(String[] args){
    MyThread mt = new MyThread();
    Thread t2 = new Thread(mt);
    //上面2行可以写成 Thread t2 = new Thread(new MyThread());
    t2.start();  
}
}

class MyThread implements Runnable{
    @Override   
    public void run(){
        for(int i=0;i<100;i++){
            System.out.println("Thread 22222-------"+i);
        }
    }
}

3.比较一下两种方法吧

从我自己的理解来看,实现Runnable接口的代码更健壮。

原因很简单,java是单继承的,从长远假设来看,也许这个类改天想干点其它的事情,必须再继承某个类,因为你已经继承了Thread类,你就不能再继承了。

接口之所以灵活就在于,你可以实现多个接口,而且实现接口了还可以继续继承一个类,所以呢,给程序员带来更大的灵活性。
SpringBoot实战(二十八)集成 Collabora Online 实现在线编辑 阅读详情

相关推荐

PFC胶结模型实战:从线性到平行粘结的力学行为解析

本文深入解析了PFC中线性接触与平行粘结(pb模型)的核心差异与应用。平行粘结模型通过模拟胶结层的力学行为,能够有效传递拉力和抵抗弯矩,是模拟岩石、混凝土等胶结材料的关键。文章详细介绍了其变形与强度参数的设置、法向与切向行为的验证方法,并揭示了全量与增量力计算中易出现的“幽灵力”问题及其解决方案,为复杂模型的构建与调试提供了实用策略。

weixin_29230773的博客 1071

实现线程的两种方式

起初,操作系统中只有进程的概念,人们那时候对并发没有太高的要求。后来有些人想提高程序的井发,这才有了线程这一新生事物。任何新生事物在诞生之初都会被小心谨慎地对待,人们提出线程的需求时,操作系统也抱着“围观”的心态不敢轻举妄动,只能坐看其发展,真正待需求明朗时才会在操作系统一级来实现。想想也是,如果稍微有个新需求就往内核里面塞,内核开发成本很高不说,至少内核中肯定有很多“不切实际”的功能,所以人们还是能够体谅操作系统研发厂商的. 为此,既然不能说服操作系统支持线程,人们只好在用户进程内想办法。所以,线程实现

qq_43811102的博客 1079

DC/DC开关电源学习笔记(十五)四开关Buck-Boost-FSBB升降压电路拓扑与工作原理

在DCDC领域,最为常见的是buck拓扑,其次是boost拓扑,而buck-boost的关注度相对较低。但是在电池供电场景日益普及的现在,升降压的需求在不断上升,现在更加关注buck-boost这个拓扑。而在所有buck-boost拓扑中,四开关buck-boost最受欢迎。四开关buck-boost的拓扑很简单,如下图。

小幽余生不加糖 5665

线程2实现方式

说到线程,首先想到的是进程的概念。         进程:是一个正在执行中的程序。每一个进行执行都有一个执行顺序。该顺序是一个执行路径,或者叫一个控制单元。         线程:就是进程中的一个独立的控制单元。线程在控制着进程的执行。         进程vs线程:一个进程中至少有一个线程。         Java VM 启动的时候会有一个进程java.exe。该进程中至少一个线程

sunny_LI 941

线程的两种实现方式,以及区别

让类成为线程类有两种方式实现Runnable接口,以及继承Thread类(类中实现了Runnable接口,还提供了一些额外的方法)。 一、Runnable相对优势: 1、java的单继承,当继承了Thread类,则不能继承其他类,而实现Runnable接口可以 2实现Runnable接口的线程类的多个线程,可以访问同一变量,而Thread则不能(多窗口买票问题) 原因:两种方式启动方式

dreamer_8399的博客 1万+

Java线程实现的四种方式

Java线程实现方式有四种 1.继承Thread类,重写run方法 2.实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target 3.通过Callable和FutureTask创建线程 4.通过线程池创建线程前面两种可以归结为一类:无返回值,原因很简单,通过重写run方法,run方式的返回值是void,所以没有办法返回结果 后面

Scott的专栏 11万+

线程实现的两种方式及其区别

继承Threadpublic class Demo2_Thread { public static void main(String[] args) { MyThread mt = new MyThread(); mt.start(); // 注意调用的start()方法,而不是run()方法 for(int i = 0; i < 1000;

StriverLi的博客 1万+

ruoyi框架前后端启动流程(前后端分离版本)

IDEA打开项目ruoyi-admin 是后端服务,ruoyi-ui是前端有关代码。切换到ruoyi-ui目录的终端运行 npm i 下载所有依赖。创建数据库并且导入点击连接后测试连接,连接成功后创建数据库。然后打开看到有验证码显示就是前后搭建成功。想要运行就要搭建好环境第一步有说准备工作。导入成功就有很多表,mysql就配置完毕。下载完毕运行 npm run dev。这些准备好了就可以开始运行了。出现这个表示后端运行成功了。下载Redis开启服务。在这个文件运行就可以了。数据库就配置完成了。

zy929999的博客 911

【学习笔记——SpringBoot 0104】网络原因使得Maven依赖下载不完全导致pom.xml内容未报错但在资源管理器中爆红/解决需要删除lastUpdated文件并更新项目

首先,我先展示下之前准备写的Thymeleaf系列,在此内容中,由于在pom.xml文件中加入了Thymeleaf依赖配置后,导致pom.xml文件在资源管理器中爆红。摸索了很久之后,发现原因是Thymeleaf依赖并没有下载完全,但是在pom.xml文件内容中没有报错,却在Eclipse的资源管理器中报错了,因此,对我造成了迷惑,导致我迟迟没有发现问题的原因。在不断的删除未完全下载的lastUpdate并Force Update之后,才将Thymeleaf依赖下载完全,解决了问题。当然,导致...

XD_Yangf的博客 1105

菜的笔记:Network Error,8080端口被占用

昨晚在下载npm依赖时,出现了“...the comman again as root/Administrator(管理员)”的报错,于是按照下面方法修改了nodejs的权限,但在idea里的控制台中仍然不能运行npm指令,于是我让idea也以管理员身份运行就可以了。在属性里勾选以管理员身份运行,以后就不用总是右键选择它了。啊~SpringBoot后端没启动,关闭项目后再打开还是要记得运行后端。哦~前端和后端的服务器端口不能一样,于是前端8080,后端9090。启动后出现了问题,是8080端口被占用。

Yiaho的博客 628

IDEA中Maven依赖下载失败解决方案

使用IDEA进行Maven项目开发时,时不时会遇到pom.xml报错的情况,其中很大概率是因为Maven依赖的jar包下载失败,找来找去也没有找到是什么问题,困扰了很多程序猿,这里给出IDEA中Maven依赖下载失败解决方案,给大家参考,实测有用。 首先检查网络有没有问题,确定网络没有问题,请看下一步 多次点击重新导入Maven依赖的按钮 重新导入Maven依赖有两种方式,如上图所示。如果多...

ThinkWon的博客 39万+

解决IDEA中Maven下载依赖包过慢或报错的问题

IDEA中Maven下载依赖包过慢或报错的问题

Tank-BeBetter 1万+

IDEA中Maven依赖包报错的问题解决方案汇总

IDEA中Maven依赖报错的问题解决方案汇总 最近配置maven,下载依赖各种报错问题特别恼火,真的是很烦,百度了三天,网上各种搜解决方案,问了老师,同学,博主都最后终于。所以写个博客让大家避免再踩我踩过的坑。 我用的idea是2020版本,因为有汉化,照顾了英语不好的我。不多说直接上图 ...

weixin_45610138的博客 3万+

IntelliJ IDEA 用 Maven 下载依赖超时报错

关键词: IntelliJ IDEA Maven 依赖下载超时报错 前言 在新环境用 Maven 时,踩坑各种 Maven 报错、超时。 Maven 配置阿里源 将以下内容写到 ~/.m2/settings.xml (注意先备份原来存在的 settings.xml): <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmln

zhangt2333的博客 2515

彻底解决idea maven依赖报红报错问题

因为项目保密原因,有时候避免不了要进行离线开发 idea 在线是神器,离线问题就来了,经常是出现maven库依赖问题,报出大量红色波浪线,如下图: 研究两天,多方查询,总结解决方法如下: 重点一 检查是否为离线模式,maven的各项配置路径是否正确 重点二 各项配置正确的情况下,点击刷新,重新加载依赖 如果还是报红 重点三 移除maven项目,再重新添加到maven 右键点击Unlink Maven Projects (idea版本不同,按钮的位置不一样,图标类似一个➖) .

迟到的help的博客 8万+

IDEA中maven下载依赖包报错解决方案汇总【含终极解决方案】

首先抛一下我的报错信息吧,引入一个新依赖时,在本地仓库没有时,下载下来一直都是.lastUpdated 文件,并且控制台报错 Could not transfer artifact org.apache.commons:commons-lang3:pom:3.7 from/to nexus-aliyun (http://maven.aliyun.com/nexus/content/grou...

qq_36783524的博客 9820

idea pom.xml 依赖包自动下载安装

idea pom.xml 依赖包自动下载安装解决方法第一种方法:第二种方法:注意:pom文件的 spring-boot-maven-plugin报红 解决方法 第一种方法: 右键点击pom.xml文件–>maven–>reload project,若不行,看第二种方法。 第二种方法: 需要使用国内的Maven类库,IDEA的Maven类库默认都是使用国外的,一些地区由于墙的原因加载会很慢或者加载不了,此时可以导入阿里云的 Maven 类库: pom.xml 中添加: <repositor

厚积薄发 2万+

解决IDEA Maven依赖下载总是失败的几种方法

为啥我的IDEA Maven依赖下载总是失败?? 我们本地使用 IDEA 运行 maven 项目的时候,有时候运气不好,就会遇到某些 maven 依赖无法正常找到、导入。这就会导致 IDEA 构建项目的时候爆出一堆醒目的红色 Error。 正好最近新拉取一个项目源码,本地运行项目,又碰到这种情况。按照以前的解决经验,捣鼓了一下,发现没办法解决。于是研究了一下午,终于解决这个问题????。 吐槽一下,刚开始一度以为是这个项目有问题,找了一个同事,发现他的电脑是却可以正常运行这个项目。 那今天这篇的文章,总结

weixin_40517799的博客 1万+

idea pom文件报错 无法下载依赖(可以下载source)

网上的教程都试过 比如setting.xml文件配置的mirror,这个我知道,以前用的eclipse 还有设置中的一些配置,感觉都没有解决我的问题 问题:可以下载source包,无法加载jar包依赖 解决办法:先在pom中写好依赖,执行一遍打包:clean package,这个时候控制台中显示下载没有的依赖文件。 如果这个时候pom中还是报错,或者下图这里报错。只需要,在pom中删...

zl20110000的博客 3358

IDEA中各种Maven相关问题(文件飘红、下载依赖和启动报错)

因为老师也不可能所有的问题都遇到过,而且每个人的电脑环境不同,不一定是同一个原因造成的,所以解决问题最重要的是去尝试。重点:配置文件使用aliyun仓库的配置文件,把这个文件解压出来放到maven的config目录。IDEA右边maven面板,双击install,才把依赖下载下来,问题得到解决。也就是说,打开里面有一个pom.xml的文件夹,而不是其他文件夹。汉化版的可能有各种奇怪的问题。不管是任何错误,最终都是根据搜索引擎给出的方案解决的。删除原工程,重新解压代码工程的压缩包,用IDEA打开。

2302_77302329的博客 7098

IDEA中pom.xml配置文件依赖文件版本号报红的最有效解决办法

关于IDEA中pom.xml配置文件依赖文件版本号报红的最有效解决办法,简单粗暴直接!问题产生及解决过程产生的报错解决过程 问题产生及解决过程 产生的报错 最近在研究IDEA的使用以及bootstrap框架,但是在创建项目的过程中笔者发现了如下的问题: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201126110209981.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10

Butterfly_ren的博客 2万+

idea项目依赖导入失败_解决idea导入项目后依赖报错问题

1.在idea首页Confige-->setting-->build,execution,deployment-->buildTool-->maven-->work office勾选,apply,ok2.进入导入的项目中,先点击右侧Maven Project-->lifecycle-->install,下载jar包;3.下载完毕后,关闭项目,到首页Con...

weixin_39950010的博客 2967

(144页PPT)埃森哲广州地铁集团第四个五年发展战略规划报告.pptx

(144页PPT)埃森哲广州地铁集团第四个五年发展战略规划报告.pptx

华为HCIP-SDN培训教材与实验指导手册.zip

华为HCIP-SDN培训教材与实验指导手册.zip

上一篇: 线程
下一篇: 线程同步和线程死锁
superhill
博客等级 码龄17年 106粉丝 135原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值