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.线程安全

相关推荐
Assby1 分钟前
如何尽可能精确计算线程池执行 shutdown() 后的耗时?
java·后端
csbysj20209 分钟前
Lua 面向对象编程
开发语言
焰火199925 分钟前
[Java]自定义重试工具类
java
SuperherRo1 小时前
JAVA攻防-Shiro专题&断点调试&有key利用链&URL&CC&CB&原生反序列化&加密逻辑
java·shiro·反序列化·有key·利用链·原生反序列化·加密逻辑
桦说编程2 小时前
简单方法实现子任务耗时统计
java·后端·监控
左直拳2 小时前
将c++程序部署到docker
开发语言·c++·docker
爱笑的眼睛112 小时前
超越可视化:降维算法组件的深度解析与工程实践
java·人工智能·python·ai
崇山峻岭之间2 小时前
Matlab学习记录31
开发语言·学习·matlab