理解java.lang.Thread.State: WAITING (parking)
- 论坛
- 理解java.lang.Thread.State: WAITING (parking)
13 浏览
理解java.lang.Thread.State: WAITING (parking)
首先,一个非常愚蠢的问题,我只是想知道等待中的“parking”是什么意思?线程是在等待被停放,还是已经被停放,因此处于等待状态?当发生这种停放时,会占用多少CPU/内存资源?停放线程的目的是什么?
其次,通过查看Java线程API中的park方法:
为线程调度目的禁用当前线程,除非许可证可用。
如果许可证可用,则会消耗该许可证并立即返回;否则,当前线程将因线程调度目的而被禁用,并处于休眠状态,直到发生以下三种情况之一......
英语不是我的母语,所以我对此有些困惑,我理解“许可证”是一种“停放线程的许可”,所以下面是相关问题:
- 那是什么意思,什么是“许可证”,由谁和如何检查这些许可证?
- “如果许可证可用,则会消耗它”是什么意思?它被“停放”了吗?
- 接下来,如果第二个问题是真的,那么“停放”和“休眠”有什么区别?如果我有许可证,我可以永远停放它,如果没有,我可以使其“休眠”?
谢谢