重新认识Thread
2025-01-07
java 锁是基于对象的对象锁
每个java对象,都wait和notify方法。
需要调用wait必须在synchronized块中,即有锁时才能调用。
调用wait之后会阻塞线程执行,直到被notify通知唤醒。

wait(可能被假唤醒)
- - - - -
可以为线程增加全局异常监听setUncaughtExceptionHandler
- - - - -
private static final ThreadLocal<String> USER_CONTEXT = new ThreadLocal<>(); 线程局部变量。
- - -
线程的几种状态:
1、NEW 新建待命状态
2、RUNNABLE 运行中
3、BLOCKED 被阻塞
4、WAITING 等待状态
5、TIMED_WAITING 限时等待
6、TERMINATED 执行完毕

进入等待或者说限时等待有3种方式:
1、Object.wait
2、Thread.join
3、LockSupport.park
- - - - - -
Thread.onSpinWait()是Java 9引入的自旋等待优化API,用于在短时间自旋等待的场景中,向JVM和底层硬件传递“当前线程正在自旋等待”的信号,从而优化CPU资源的使用效率。
posted on 2026-01-07 12:04 angelshelter 阅读(1) 评论(0) 收藏 举报
浙公网安备 33010602011771号