标签:通过 另一个 进程和线程 循环 cpu 程序 start 队列 一个
应用程序和进程是一对一的关系,而进程和线程是一对多的关系,也就是说一个进程包含多个线程。
在java中可通过实现Runnable接口或者继承Thread类得到一个新的线程。
当调用start()方法时,线程处于就绪队列中,等待JVM线程调度器的调度。
当处于就绪队列中的线程得到CPU资源后,就会执行run()方法进入运行状态。
处于运行状态的进程,可能会发生三种情况:
1.退回就绪状态
2.进入阻塞状态
3.进入死亡状态
例子:2个人一起吃饭但是只有一双筷子,2人轮流吃(同时拥有2只筷子才能吃)。
某一个时候,一个拿了左筷子,一人拿了右筷子,2个人都同占用一个资源,等待另一个资源,
这个时候甲在等待乙吃完并释放它占有的筷子,同理,乙也在等待甲吃完并释放它占有的筷子,
这样就陷入了一 个死循环,谁也无法继续吃饭。
标签:通过 另一个 进程和线程 循环 cpu 程序 start 队列 一个
原文地址:https://www.cnblogs.com/luoyunyong/p/9029236.html