Windows用にJavaの並行性がどのように実装されているか知っている人はいますか?ネイティブのWindowsAPIを呼び出しますか?OpenJDKからソースコードをダウンロードしました。これまでのところ、並行性に関連するファイルは見つかりませんでした。ありがとう。
質問する
158 次
1 に答える
1
おそらく、Java ランタイムの歴史を通じて使用されてきた 2 つのスレッド モデル、グリーン スレッドモデル (JVM によって管理されるユーザー レベルのスレッド) と非グリーン スレッド モデル ( OS によって管理されるネイティブ スレッド) について言及していると思われます。 .
ここで回答したように、一般的なプラットフォーム (Windows、Linux、Solaris) のいずれでも、グリーン スレッドは使用されなくなりました (長い間使用されていません)。ですから、あなたの質問に答えるために、Java スレッドは実装レベルでは実際のスレッドです。
キーワードはsynchronized
、すべてのオブジェクトが「非表示」モニターに関連付けられているという事実に基づいて機能します。したがって、およびsynchronized
のバイトコードを発行することによって機能します。これらは、非表示のモニターをそれぞれロックおよびロック解除するための JVMへの命令です。monitorenter
monitorexit
于 2013-02-01T14:21:01.510 に答える