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

相关推荐
架构师沉默5 小时前
别又牛逼了!AI 写 Java 代码真的行吗?
java·后端·架构
后端AI实验室9 小时前
我把一个生产Bug的排查过程,交给AI处理——20分钟后我关掉了它
java·ai
凉年技术11 小时前
Java 实现企业微信扫码登录
java·企业微信
狂奔小菜鸡12 小时前
Day41 | Java中的锁分类
java·后端·java ee
hooknum12 小时前
学习记录:基于JWT简单实现登录认证功能-demo
java
程序员Terry13 小时前
同事被深拷贝坑了3小时,我教他原型模式的正确打开方式
java·设计模式
NE_STOP13 小时前
MyBatis-缓存与注解式开发
java
码路飞13 小时前
不装 OpenClaw,我用 30 行 Python 搞了个 QQ AI 机器人
java
Re_zero13 小时前
以为用了 try-with-resources 就稳了?这三个底层漏洞让TCP双向通讯直接卡死
java·后端
SimonKing14 小时前
Fiddler抓包完全指南:从安装配置到抓包,一文讲透
java·后端·程序员