Python にはグローバル ロックがあることを知っており、Glyph のpython multithreadingの説明を読みました。しかし、私はまだ試してみたいと思っています。簡単な (概念的に) タスクとして、画像の水平方向と垂直方向のエッジ検出を行うことにしました。
これが起こっていることです(疑似コード):
for pixels in picture:
apply sobel operator horizontal
for pixels in picture:
apply sobel operator vertical
これら 2 つのループは、互いに完全に独立して実行できるため、マルチスレッドの第一候補となります。(非常に大きな画像でこれら 2 つのループを実行すると、10 秒以上かかる場合があります)。ただし、Python でモジュールを使用しようとするthreading
と、グローバル ロックのために 2 倍の時間がかかります。私の質問は、Python の 2 つのスレッドでこれを行うというすべての希望を捨てて、別の言語で試してみるべきですか? 先に進むことができる場合、どのモジュールを使用すればよいですか? そうでない場合、どの言語で実験する必要がありますか?