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执行权,回到就绪状态)。

相关推荐
码农水水6 小时前
国家电网Java面试被问:TCP的BBR拥塞控制算法原理
java·开发语言·网络·分布式·面试·wpf
浮尘笔记7 小时前
Go语言临时对象池:sync.Pool的原理与使用
开发语言·后端·golang
qq_336313937 小时前
java基础-网络编程-TCP
java·网络·tcp/ip
咕噜咕噜啦啦7 小时前
Java期末习题速通
java·开发语言
BHXDML7 小时前
第七章:类与对象(c++)
开发语言·c++
盐真卿7 小时前
python2
java·前端·javascript
梦梦代码精8 小时前
BuildingAI vs Dify vs 扣子:三大开源智能体平台架构风格对比
开发语言·前端·数据库·后端·架构·开源·推荐算法
一嘴一个橘子8 小时前
mybatis - 动态语句、批量注册mapper、分页插件
java
组合缺一8 小时前
Json Dom 怎么玩转?
java·json·dom·snack4
又见野草9 小时前
C++类和对象(中)
开发语言·c++