[解決済み] なぜJava仮想マシンにはGILがないのか?なぜPythonはそんなにGILが必要なのですか?
2022-05-02 10:02:56
質問
Java仮想マシンがグローバルインタープリタロック(GIL)を必要とせずにスレッドをうまく実装できる一方で、Pythonはそのような悪を必要とするのは、何が根本的に違うのかについて、誰かが洞察を与えてくれることを期待しています。
どうすれば解決するの?
Python(言語)はGILを必要としません(だからこそ、JVM [Jython] や .NET [IronPython] で完璧に実装でき、それらの実装は自由にマルチスレッド化できるのです)。CPython(一般的な実装)は、コーディング(特にガベージコレクション機構のコーディング)と、スレッドセーフでないCコードライブラリ(昔は大量にありました)の統合を容易にするために、常にGILを使用しています。
その アンラッドスワロー プロジェクトは、他の野心的な目標に加え、次のようなことを行っています。 計画 そのサイトを引用すると、"さらに、私たちはGILを取り除き、Pythonのマルチスレッドの状態を修正するつもりです。これは、IBMのRecycler (Bacon et al, 2001)のような、より洗練されたGCシステムの実装によって可能だと考えています"。
関連
-
アクセス制限です。タイプ 'Application' は API ではありません。
-
javaの模造品QQ WeChatのチャットルーム
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 4 at text.Division.main(Divisi
-
コミットには何も追加されないが、未追跡のファイルが存在し、gitで未追跡のファイルに対する完璧な解決策
-
[解決済み] Javaの「for each」ループはどのように機能するのですか?
-
[解決済み] なぜJavaにはtransientフィールドがあるのですか?
-
[解決済み] Pythonの@propertyデコレーターはどのように機能するのでしょうか?
-
[解決済み] なぜPythonのコードは関数の中でより速く実行されるのですか?
-
[解決済み】PyPyが6.3倍速いなら、CPythonよりPyPyを使うべきじゃないのか?
-
[解決済み】Java「仮想マシン」vs Python「インタプリタ」の言い分け?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Java Error スレッド "AWT-EventQueue-0" で例外発生 java.lang.
-
springboot project MIMEタイプ text/htmlで転送された静的ファイルを読み込む。
-
ファインバグタイプ
-
Dateが型に解決できない問題を解決する
-
をインスタンス化することができません。
-
Intellij IDEAのエラー「CreateProcess error=2, system could not find specified file」に対する完璧な解決策です。
-
マスキング このリソースにアクセスするには、完全な認証が必要です。
-
javaでクラスを作成すると、enclosing classでないように見える
-
SocketTimeoutExceptionです。読み込みがタイムアウトしました
-
java 例外。Javaツールの初期化