11

V8 Javascript エンジンはジャスト イン タイム コンパイラであると読みました。PyPy は Python インタープリターであり、ジャスト イン タイム コンパイラーでもあります。PyPy は、複数のスレッドが存在する場合に GIL を持つことで知られています。

V8 Javascript エンジンには、Web ワーカー スレッドを処理するためのグローバル インタープリター ロック (GIL) に相当するものがありますか?

また、すべての動的言語にはマルチコアの処理に問題がありますか? もしそうなら、なぜ JIT コンパイラは GIL に問題があるのでしょうか?

4

2 に答える 2

18

Chromium Web Worker は、V8 Isolates の上に実装されています。各 Isolate は、基本的に V8 VM の完全に独立したインスタンスです。多くの Isolate が同じプロセスに共存し、JavaScript コードを同時に実行できます。

ただし、各 Isolate は、任意の時点で 1 つのスレッドのみが所有できます。埋め込み者がIsolate への排他的アクセスを確保するために使用する必要がある Isolate レベルのロック メカニズムがあります。

于 2013-01-19T00:18:10.003 に答える