java线程(1)

1、多线程启动

有两种启动方式

1、实现Runable接口

2、继承Thread类并且重写run()方法

在执行进程中的任务才会产生线程,所以需要实现Runable接口并且重写run()方法,然后将Runable的实现对象作为参数传递给Thread类。

代码示例:

public class cuo {public  static void main(String[] args){MyRunable m = new MyRunable();new Thread(m).start();}}class MyRunable implements Runnable{public void run(){System.out.println("我的任务开始执行。。。");}}

代码结果:

第二个方法的代码示例:

public class apci {public static void main(String[] args){Myth mt = new Myth();mt.start();}
}
class Myth extends Thread{public void run(){System.out.println("thread running");}
}

代码结果:

在一般情况下都会使用实现Runable接口然后启动线程,因为这样可以提高程序的灵活性和拓展性,使用Runable接口描述任务看更加容易理解

注意:执行start()方法的顺序并不是线程启动的的顺序。

2、线程标识

Thread类用于管理线程,如:设置管理线程优先级、设置Daemon属性,读取线程的名字和ID、启动线程任务、暂停线程任务、中断线程等等。

下面是关于ID和名称的代码示例:

public class apci {public static void main(String[] args){for(int i=0;i<5;i++){Myth mt = new Myth();Thread th = new Thread(mt);th.start();System.out.println(th.getId());System.out.println(th.getName());}}
}
class Myth extends Thread{public void run(){System.out.println("任务开始执行、、、");}
}

代码结果如下:

注意:因为线程的问题所以每次结果可能会出现大同小异的情况,不必担心,正常情况(我也执行了很多次都不一样,所以我只能把这个情况归咎为线程的抢占模式的问题)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/822053.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Zynq7000系列中的功耗管理

功耗优化可以从选择合适的Zynq 7000 SoC设备开始。对于低功耗应用&#xff0c;可以选择7z010或7z020双核设备&#xff0c;或者7z007s、7z012s或7z014s单核设备。通过关闭设备的PL侧&#xff0c;可以大幅度降低功耗。I/O电压和终端选择也会影响功耗。可以停止向单独的PS子系统提…

深度学习的社交网络:用户行为分析

1.背景介绍 社交网络是当今互联网的一个重要领域,它们为人们提供了一种快速、便捷的方式来与他人交流、分享信息和建立社交关系。社交网络的数据量巨大,包括用户的个人信息、互动记录、内容等。这些数据为企业和组织提供了丰富的信息来源,可以用于用户行为分析、推荐系统、…

BIM和数字孪生

BIM&#xff08;建筑信息建模&#xff09;是在计算机辅助设计等技术基础上发展起来的多维模型信息集成技术&#xff0c;是对建筑工程物理特征和功能特性信息的数字化承载、可视化表达。 BIM技术在施工控制和可视化模拟方面进行了创新&#xff0c;可实现可视化效果设计、检验模…

女上司问我:误删除PG百万条数据,可以闪回吗?

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验 擅长主流数据Oracle、MySQL、PG、openGauss运维 备份恢复&#xff0c;安装迁移&#xff0c;性能优化、故障应急处理等可提供技术业务&#xff1a; 1.DB故障处理/疑难杂症远程支援 2.Mysql/PG/Oracl…

UML 介绍

前言 UML 简介。 文章目录 前言一、简介1、事务2、关系1&#xff09;依赖2&#xff09;关联聚合组合 3&#xff09;泛化4&#xff09;实现 二、类图三、对象图四、用例图五、交互图1、序列图&#xff08;顺序图&#xff09;2、通信图 六、状态图七、活动图八、构件图&#xff0…

C#探索之路基础夯实篇(5):语法糖概念解析

C#探索之路基础夯实篇(5)&#xff1a;语法糖概念解析 文章目录 C#探索之路基础夯实篇(5)&#xff1a;语法糖概念解析1、概念定义2、Lua中的语法糖3、C#中的语法糖4、C中的语法糖5、优缺点辨析6、适用范围7、总结 从之前一开始接触lua的时候开始&#xff0c;开始第一次接触到语法…

python基础语法+爬虫+图像处理+NumpyPandas数据处理(12天速成,第7天上-爬虫Scrapy)

爬虫&#xff08;Scrapy&#xff09;:写一段程序代码&#xff08;网络访问&#xff09;&#xff0c;自动获取网页&#xff08;网络&#xff09;上的数据服务端语言&#xff1a;网络编程&#xff0c;都可以作为爬虫java c c python 等均可写爬虫程序js不是一个典型的服务端程序&…

【数据结构(七)】二叉树

❣博主主页: 33的博客❣ ▶文章专栏分类: Java从入门到精通◀ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你学更多数据结构的知识 目录 1.前言2.树形结构2.1树的概念2.2常见概念2.3树的表示形式 3.二叉树3.1概念3…

ES源码二:集群启动过程

命令行参数解析 Elasticsearch&#xff1a;在main里面创建了Elasticsearch实例&#xff0c;然后调用了main方法&#xff0c;这个main方法最终会调用到父类Command的main方法 这里做了几件事&#xff1a; 注册一个 ShutdownHook&#xff0c;其作用就是在系统关闭的时候捕获IO…

【Web】陇原战“疫“2021网络安全大赛 题解

目录 CheckIN eaaasyphp EasyJaba CheckIN 拿到附件&#xff0c;贴出关键代码 func getController(c *gin.Context) {cmd : exec.Command("/bin/wget", c.QueryArray("argv")[1:]...)err : cmd.Run()if err ! nil {fmt.Println("error: ", …

Python机器学习项目开发实战:如何预测建模

注意&#xff1a;本文提供下载的教程&#xff0c;与以下文章的思路有相同点&#xff0c;也有不同点&#xff0c;最终目标只是让读者从多维度去熟练掌握本知识点。 在Python中进行机器学习项目开发实战&#xff0c;预测建模是一个常见的应用场景。以下是一个简化的步骤指南&…

C++11(下篇)

文章目录 C111. 模版的可变参数1.1 模版参数包的使用 2. lambda表达式2.1 Lambda表达式语法捕获列表说明 2.2 lambda的底层 3. 包装器3.1 function包装器3.2 bind 4. 线程库4.1 thread类4.2 mutex类4.3 atomic类4.4 condition_variable类 C11 1. 模版的可变参数 C11支持模版的…

当全连接队列满了,tcp客户端收到服务端RST信令的模拟

当tcp服务端全连接队列满了后&#xff0c;并且服务端也不accept取出连接&#xff0c;客户端再次连接时&#xff0c;服务端能够看到SYN_RECV状态。但是客户端看到的是ESTABLISHED状态&#xff0c;所以客户端自认为成功建立了连接&#xff0c;故其写往服务端写数据&#xff0c;发…

鸿蒙入门02-首次安装和配置

注&#xff1a;还没有安装编辑器&#xff08; deveco studio &#xff09;的小伙伴请看鸿蒙入门01-下载和安装-CSDN博客 首次安装配置 编辑器&#xff08; deveco studio &#xff09;安装完毕以后需要进入配置界面进行相关配置配置完毕以后才可以正常使用 环境配置&#xf…

中国人工智能产业年会智能交通与自动驾驶专题全景扫描

中国人工智能产业年会&#xff08;CAIIAC&#xff09;是中国人工智能技术发展和应用的重要展示平台&#xff0c;不仅关注创新&#xff0c;还涵盖了市场和监管方面的内容&#xff0c;对于促进人工智能领域的发展起到了重要作用。年会汇集了来自学术界、工业界和政府的专家&#…

026——项目管理与由来

目录 作者有话说 项目的管理方式 develop分支管理 作者有话说 已经出了25期的文章了&#xff0c;一直没说过我在做个什么。相信大家也有这个以后&#xff0c;作者写了几M的代码到现在不会只是为了点个灯吧。要是这我几十行代码就能解决。 这是一个小故事&#xff0c;老粉丝都…

FILE类与IO流

目录 File类的实例化与常用方法 File类的理解 文件路径的表示方式&#xff1a; API的使用 IO流概述与流的分类 I/O流中的是Input/Output的缩写 IO流的分类&#xff08;不同角度&#xff09; Java程序中的IO流涉及40多个&#xff0c;但实际上都是由4个抽象类衍生出来的。 F…

quartz的使用

简介 是OpenSymphony开源组织在Job scheduling领域又一个开源项目&#xff0c;完全由Java开发&#xff0c;可以用来执行定时任务&#xff0c;类似于java.util.Timer。功能更强大 常规 依赖 <dependency><groupId>org.quartz-scheduler</groupId><arti…

wamp3 安装新的php版本

1&#xff1a;进入地址&#xff1a;Wampserver - Files and addons 下载需要的版本的php 2&#xff1a;运行下载好的文件&#xff0c;例&#xff1a;wampserver3_x64_addon_php7.2.34.exe 3&#xff1a;重启wamp&#xff0c;然后左击&#xff0c;顺序&#xff1a;php/Version…

SpringBoot使用xxl-job分布式任务调度平台定时检测RabbitMQ的消息队列自动发出钉钉警告消息

文章目录 SpringBoot使用xxl-job分布式任务调度平台定时检测RabbitMQ的消息队列自动发出钉钉警告消息1、在pom.xml中导入xxl-job的maven依赖&#xff0c;可以看我这篇文章使用抽离出来的xxl-job的starter2、配置xxl-job的相关配置&#xff0c;若上一步使用了自己创建的starter则…