java多线程

*多线程

1.多线程

程序: 是为了完成特定任务,用某种语言编写的一组指令的集合,即指一段静态的代码。

进程:每个独立执行的程序称为进程,在操作系统中**进程**是进行系统资源分配、

调度和管理的最小单位,进程在执行过程中拥有独立的内存单元。

线程: 同一时刻,多个任务并发执行,构成多线程。线程是CPU调度和分派的基本单位。

注意:多线程本质上不是多个线程并行执行,只是CPU分配给每个线程的实现片段极小,

肉眼根本分辨不出,好似同一时刻CPU同时处理多个任务。

2.多线程实现

-继承Thread类

-实现Runnable接口:多个线程共享同一资源时

-实现Callable接口

-通过线程池实现

3.多线程生命周期

long getId()

返回此线程的标识符。

String getName()

返回此线程的名称。

static Thread currentThread()

返回对当前正在执行的线程对象的引用。

void setPriority(int newPriority)

更改此线程的优先级。

void join()

等待这个线程死亡。

static void sleep(long millis)

使当前正在执行的线程以指定的毫秒数暂停(暂时停止执行),具体取决于系统定时器和调度程序的精度和准确性。

static void yield() 对调度程序的一个暗示,即当前线程愿意产生当前使用的处理器。

void interrupt()

中断这个线程。

4.线程安全

相关推荐
BeiGuTing_code几秒前
C字符输出:一个换行符引发的“失踪案”
c语言·开发语言
我命由我123453 分钟前
5-2.Python 编码进阶 - 字符串进阶(拼接、普通格式化、普通格式化数字精度控制、快速格式化、遍历、常用方法)
java·开发语言·后端·python·学习·java-ee·学习方法
http阿拉丁神猫4 小时前
Go语言入门笔记:从基础到开发环境搭建(二)
开发语言·笔记·golang
不会就选b5 小时前
C++补充部分(一)--lambda 表达式
开发语言·c++
Pniubi8 小时前
HashMap的扩容和树化边界
java·开发语言
Mikko78 小时前
用 Java 复刻了高中时在塞班上玩的「熔岩矿车」:纯 Swing、零依赖、没有一张图片,一个 jar 双击就能玩
java·游戏开发·swing
知了学历孙老师8 小时前
小自考的校考和统考,出题方和难度差在哪
java·大数据·前端
Java爱好狂.9 小时前
Java初学者如何一周速通SpringBoot!
java·spring boot·后端·spring·高并发·架构师·java面试
秋饼9 小时前
LLM API密钥动态轮换实战:Spring Vault + Spring AI + 多Provider路由
java·ai·技术分享·后端开发
gCode Teacher 格码致知10 小时前
Pandas教学-17:Series与Dataframe的关系
开发语言·python·pandas