线程的基本概念、线程的基本状态以及状态之间的关系【面试题详解】

今天爱分享给大家带来线程的基本概念、线程的基本状态以及状态之间的关系【面试题详解】,希望能够帮助到大家。
一个程序中可以有多条执行线索同时执行,一个线程就是程序中的一条执行线索,每个
线程上都关联有要执行的代码,即可以有多段程序代码同时运行,每个程序至少都有一个线
程,即 main 方法执行的那个线程。如果只是一个 cpu,它怎么能够同时执行多段程序呢?
这是从宏观上来看的,cpu 一会执行 a 线索,一会执行 b 线索,切换时间很快,给人的感觉
是 a,b 在同时执行,好比大家在同一个办公室上网,只有一条链接到外部网线,其实,这条
网线一会为 a 传数据,一会为 b 传数据,由于切换时间很短暂,所以,大家感觉都在同时上
网。
状态:就绪,运行,synchronize 阻塞,wait 和 sleep 挂起,结束。wait 必须在 synchronized
内部调用。
调用线程的 start 方法后线程进入就绪状态,线程调度系统将就绪状态的线程转为运行状
态,遇到 synchronized 语句时,由运行状态转为阻塞,当 synchronized 获得锁后,由阻塞转
为运行,在这种情况可以调用 wait 方法转为挂起状态,当线程关联的代码执行完后,线程
变为结束状态。

人已赞赏
Java

当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法? 【面试题详解】

2020-12-2 16:51:18

Java

简述 synchronized 和 java.util.concurrent.locks.Lock 的异同 ?【面试题详解】

2020-12-2 16:52:21

'); })();