-1

Windows用にJavaの並行性がどのように実装されているか知っている人はいますか?ネイティブのWindowsAPIを呼び出しますか?OpenJDKからソースコードをダウンロードしました。これまでのところ、並行性に関連するファイルは見つかりませんでした。ありがとう。

4

1 に答える 1

1

おそらく、Java ランタイムの歴史を通じて使用されてきた 2 つのスレッド モデル、グリーン スレッドモデル (JVM によって管理されるユーザー レベルのスレッド) と非グリーン スレッド モデル ( OS によって管理されるネイティブ スレッド) について言及していると思われます。 .

ここで回答したように、一般的なプラットフォーム (Windows、Linux、Solaris) のいずれでも、グリーン スレッドは使用されなくなりました (長い間使用されていません)。ですから、あなたの質問に答えるために、Java スレッドは実装レベルでは実際のスレッドです。

キーワードはsynchronized、すべてのオブジェクトが「非表示」モニターに関連付けられているという事実に基づいて機能します。したがって、およびsynchronizedのバイトコードを発行することによって機能します。これらは、非表示のモニターをそれぞれロックおよびロック解除するための JVMへの命令です。monitorentermonitorexit

于 2013-02-01T14:21:01.510 に答える