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

相关推荐
翊谦6 小时前
Java Agent开发 Milvus 向量数据库安装
java·数据库·milvus
晓晓hh6 小时前
JavaSE学习——迭代器
java·开发语言·学习
Laurence6 小时前
C++ 引入第三方库(一):直接引入源文件
开发语言·c++·第三方库·添加·添加库·添加包·源文件
查古穆7 小时前
栈-有效的括号
java·数据结构·算法
kyriewen117 小时前
你点的“刷新”是假刷新?前端路由的瞒天过海术
开发语言·前端·javascript·ecmascript·html5
Java面试题总结7 小时前
Spring - Bean 生命周期
java·spring·rpc
硅基诗人7 小时前
每日一道面试题 10:synchronized 与 ReentrantLock 的核心区别及生产环境如何选型?
java
014-code7 小时前
String.intern() 到底干了什么
java·开发语言·面试
421!7 小时前
GPIO工作原理以及核心
开发语言·单片机·嵌入式硬件·学习
摇滚侠7 小时前
JAVA 项目教程《苍穹外卖-12》,微信小程序项目,前后端分离,从开发到部署
java·开发语言·vue.js·node.js