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