整数を取るC(++)関数があり、それがpython apiで(C)pythonにバインドされているとすると、pythonから呼び出すことができます。
import c_module
c_module.f(10)
今、私はそれを並列化したいです。問題は、この場合、GILはどのように機能するかということです。処理する番号のキューがあり、一部のワーカー(threading.Thread
)が並行して作業していて、それぞれがキューから取得されたc_module.f(number)
場所number
を呼び出しているとします。
GILがインタプリタをロックする通常の場合との違いは、c_module.f
コンパイルされているため、インタプリタを評価する必要がないことです。したがって、問題は次のとおりです。この場合、処理は本当に並列ですか?