Commit f6a41b9
authored
此处的死锁改成进程阻塞是否会更好呢??
此处按照周志明老师《深入理解JVM虚拟机》第三版第七章虚拟机类的加载机制P279页的描述,此处可能会有的问题如果`<clinit>()`方法中有耗时很长的操作,其他进程由于无法获得锁会进入阻塞队列中一直等待。而死锁的定义是**指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。** 而这里如果只是耗时时间过长的话并不会进入死锁,而是长时间处于阻塞队列中,耗时操作执行完成后,其他进程还是会正常执行下去。
所以这里使用进程阻塞是否会更好呢??1 parent b14be3a commit f6a41b9
1 file changed
+1
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | | - | |
| 73 | + | |
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
| |||
0 commit comments