株式シリーズ--Thread#がJavaソースコードで()に参加して、どのようにブロックされたスレッドが目覚めているされて通知されませんでしたか?JVMでの回答

数日前、私は、スレッドの実行順序を制御する方法、顔の質問を見ました。答えはスレッド#が参加しています()。

 

()のソースコードに参加読む、少し戸惑い、引数は(参加しない)(0)スレッド#待ちを呼び出します。これは、無制限の閉塞の方法です。そして(0)または偽ウェイクを防ぐために、whileループで待機します。その後、保証が眠っています。

 

誰我々は確かに知って、コードの実装からスラスト結果を逆???通知()/のnotifyAll()を呼び出しが行われているどこかに目を覚まします。

 

だから、今日、それは検索をしたいと思い、インターネットは本当に参加する()のソースコードを解析し、基礎となるJVMに目を覚ますする方法を発見しました。タイミングそれらが呼び出される前であるが(のnotifyAll自体を呼び出し、スレッドの死への参加は)スレッド内の他のすべてのスレッドが待っている目覚めます。

記事のリンク:https://blog.csdn.net/u010983881/article/details/80257703

おすすめ

転載: www.cnblogs.com/christmad/p/11595462.html