进程
进程:一个程序的运行过程
线程:组成这个程序的并行的模块
一个进程可以包含多个线程。
线程的创建
- 继承Thread类
- 实现Runnable接口
- 实现Callable接口
1.继承Thread类
继承Thread类,重写run()方法,调用start开启线程
public class miloThread1 extends Thread{@Overridepublic void run(){//...}
}
线程在主函数中的创建
public static void main(String[] args){//创建对象miloThread1 = new miloThread11();//开启线程miloThread1.start();
}
线程不一定立即执行,顺序是由CPU安排调度的
2.实现Runnable接口
- 定义MyRunnable类实现Runnable接口
- 实现run()方法,编写执行体
- 创建线程对象,调用start()方法启动线程
public class miloThread2 implements Runnable{@Overridepublic void run(){//...}
}
public static void main(String[] args){//创建runnable的接口实现类对象miloThread2 = new miloThread2();//创建线程对象,通过线程对象来开启线程 此对象作为代理Thread thread = new Thread(miloThread2);//用代理对象开启线程thread.start();//上面两行代码可简写为new Thread(miloThread2).start();
}
区别:runnable需要在创建实现对象后,再创建代理对象,用代理对象开启线程。
两种方法的区别
资源方面
每次利用继承thread创建线程时,都要重新new一个新的xxxthread对象,当多个线程运行时,不同的thread修改的资源不同。
使用runnable接口时,可以保证只new一个runnable对象,且同时有多个线程执行任务。因此,线程之间会操作同一份数据。
继承方面
由于java父子类之间单继承的特性,导致继承得到的thread类无法再去继承其他父类,局限性较大。
而接口具有多继承的特性,一个类可以实现多个不同的接口,因此该类的可实现功能会更多,更方便。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/941612.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
一般公共预算收入 + 全国政府性基金收入
一、税收增速意外创出新高
9月,一般公共预算收入(+2.6%),温和回升0.6个百分点,其中税收(+8.7%)显著回升5.3个百分点,增速创2023年7月以来新高;非税(-11.4%)受去年同期大幅征收、基数走高的影响跌幅扩大。支…
从C10K到Reactor:事件驱动,如何重塑高并发服务器的网络架构
从C10K到Reactor:事件驱动,如何重塑高并发服务器的网络架构事件驱动
事件驱动(Event Driven)是一种核心的编程范式,其根本特征是控制反转(Inversion of Control,IoC)。在这种模型中,程序的执行流不再由代码的…
AI助力可再生能源系统优化研究
本文介绍了研究者如何利用人工智能技术解决能源供应挑战,重点探讨了大语言模型在数值数据分析、风能评估和齿轮箱功率损失预测中的应用,以及将AI扩展到太阳能和水电等可再生能源领域的未来计划。使用AI应对能源供应挑…
结对项目:小学四则运算题目生成器
结对项目:小学四则运算题目生成器这个项目属于哪个课程
课程链接作业要求
作业链接作业的目标
结对编程实现一个自动生成小学四则运算题目的命令行程序学号姓名
3223004816王韵清,3223004820曾钰仪Github链接
Github…
CF2107E Ain and Apple Tree
拆贡献拆到每个点就是 \(C_{siz}^2\)。
根据世界沉睡童话的结论,我们很大概率能用这种不同的 \(siz\) 组合出很多数,打个表发现都能组合出来,然后依次挂在一条链上就做完了(因为叶子没有贡献)。
2025,为什么公众号编辑器排版决定阅读完成率?——一次从流程到结果的深评
在2025,公众号编辑器选型里,我更关心的不是“功能堆满没”,而是“能否把创作从起笔到发布,做成省心、稳定、可复制的流程”。
这篇测评以“知识类自媒体”常见稿型为样本,完整跑通“选题→结构→AI排版→多平台分…
P14262 [ROI 2015 Day1] 自动好友
P14262 [ROI 2015 Day1] 自动好友 题解题目传送门
我的博客-欢迎光顾
写了一个很另类的容斥。。。比其他dalao的做法复杂不少(为了方便描述,如果 \(i,j\) 是一对潜在好友,我们就称 \((i,j)\) 是一对朋友对)
(以下…
傻瓜式处理kauditd0病毒程序记录
服务器莫名奇妙很慢,top指令查看,有个kauditd0进程导致cpu占用很高,自己或者网上尝试了各种方式,都要死灰复燃,最终打算删除启动程序的账号es,这个账号并非我正在使用发账号,直接deluser删除也会有进程占用不让…
win10 升级 win11 后时间更新失败
可能的原因:时间服务器设置问题
设置路径:设置 \(\to\) 时间和语言 \(\to\) 日期和时间 \(\to\) 更改时间服务器可选授时服务器:cn.pool.ntp.org
Windows Time 服务问题
若步骤 1 同步失败,可能是 Windows Time 服…
软件工程学习日志2025.10.20
今日概览统一了全站顶部导航的视觉样式,移除各页面导航按钮的 primary 高亮,确保颜色一致与信息层级清晰。
修正了个人中心页的导航,移除指向当前页的“个人中心”按钮,避免自指链接。
启动并验证了本地服务,通过…
P14254 分割(树上计数问题) 题解
P14254 树上组合计数(分割问题)题解
原题链接
一、题目分析
这部分是解题的核心,通过分析条件得出简化问题的关键结论。计数问题先尝试找一下性质:注意到节点的选择只能越来越深
\[d_i>=d_1
\]最关键性质:
\[m…
完整教程:开源 C++ QT QML 开发(一)基本介绍
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
102302104刘璇综合实践作业任务一:智能购物平台用户需求调研分析报告——基于195份问卷的用户痛点挖掘
摘要:
本报告基于《智能购物平台调查问卷数据及其可视化》收集的195份有效数据,通过科学的可视化分析方法,围绕用户基础特征、烹饪行为习惯、智能功能需求等维度展开深入研究。在两个星期的调研过程中,我从问卷设计…
软件工程第二次团队作业
这个作业属于哪个课程
https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/这个作业要求在哪里
https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13559这个作业的目标
使用现代 A…
Hands on Deep Learning Chapter 3 线性神经网络
3 线性神经网络
3.1 线性回归
回归(regression)、预测(prediction)、分类(classification)
3.1.1 线性回归的基本元素
线性模型:对输入特征进行一个仿射变换(affine transformation,加权和对特征进行线性变换…
超越技术范畴:低代码如何重塑企业数字文化
当我们谈论低代码时,目光往往聚焦于其提升开发效率的技术特性。然而,它的深层影响力远不止于此。低代码更像是一颗投入企业静湖的石子,其激起的涟漪,正层层扩散,深刻地重塑着组织的协作模式、创新节奏乃至内在的数…