java线程知识点介绍1

  1. 线程的基本概念

◦ 线程是进程内的轻量级执行单元,一个进程可包含多个线程,线程共享进程的内存空间、文件句柄等资源,同时拥有独立的程序计数器、虚拟机栈和本地方法栈。

◦ 进程是资源分配的基本单位,线程是CPU调度的基本单位。

  1. 线程的创建方式

◦ 继承Thread类:自定义类继承Thread,重写run()方法定义执行逻辑,通过start()方法启动线程。

◦ 实现Runnable接口:自定义类实现Runnable接口并重写run(),将实例传入Thread构造器,调用Thread的start()启动,该方式可避免单继承限制,便于共享资源。

◦ 实现Callable接口:通过Callable定义有返回值、可抛异常的任务,结合FutureTask获取执行结果,支持异步获取任务返回值。

  1. 线程的生命周期

◦ Java线程有6种状态(Thread.State枚举):新建(NEW)(线程对象已创建但未启动)、就绪(RUNNABLE)(调用start()后等待CPU调度)、运行(RUNNING)(获取CPU执行权执行run())、阻塞(BLOCKED)(等待获取锁资源)、等待(WAITING)(无时限等待被唤醒,如wait()、join())、超时等待(TIMED_WAITING)(有时限等待,如sleep(long)、wait(long))、终止(TERMINATED)(线程执行完毕或异常终止)。

  1. 线程的核心方法

◦ 启动与执行:start()(启动线程,触发JVM调用run())、run()(定义线程执行逻辑,直接调用为普通方法)。

◦ 线程等待:join()(当前线程等待目标线程执行完毕)、sleep(long)(线程休眠指定时间,不释放锁)、wait()(线程进入等待状态,需配合锁使用,会释放锁,需notify()/notifyAll()唤醒)。

◦ 中断相关:interrupt()(标记线程中断状态)、isInterrupted()(判断目标线程是否中断,不清除标志)、interrupted()(判断当前线程是否中断,且清除中断标志)。

◦ 线程状态控制:yield()(线程主动让出CPU执行权,回到就绪状态)。

相关推荐
L162476几秒前
Win11 共享→Windows Server 访问故障总结(极简可复用)
开发语言·windows·php
Advancer-14 分钟前
第二次蓝桥杯总结(上)
java·算法·职场和发展·蓝桥杯
\xin25 分钟前
pikachu自编SQL(POST)
java·数据库·sql
一行代码一行诗++27 分钟前
注释是什么和注释该怎么写(C语言)
java·前端·javascript
.柒宇.40 分钟前
FastAPI 基础指南:从入门到实战
开发语言·python·fastapi
xyq20241 小时前
Go 错误处理
开发语言
JAVA面经实录9171 小时前
企业级java+LangChain4j-RAG系统 限流熔断降级
java·开发语言·分布式·langchain
Drug1 小时前
Struts2 从入门到放弃?不,这些核心知识你依然需要掌握
java
Slow菜鸟1 小时前
Codex CLI 教程(五)| AI 驱动项目从零到一:面向 Java 全栈工程师打造个人 ECC(V2版)
java·开发语言·人工智能
lsx2024061 小时前
Julia 基本运算符
开发语言