私はeventlet.tpoolが役に立つのか理解しようとしています。ドキュメントでは、tpool.execute()を使用すると、ブロック機能を使用して新しいスレッドで実行することができます。ただし、tpool.execute()メソッド自体は、スレッドが完了するまでブロックされます。では、これはどのように役に立つのでしょうか?関数myfunc()をブロックして長時間実行していて、直接呼び出すとブロックされます。 tpool.execute(myfunc)の中で呼び出すと、tpool.execute(myfunc)呼び出しがブロックされます。違いは何ですか?イベントレットのtpoolはどのように役立ちますか?
私が推測できるのは、myfunc()が直接呼び出されると、このコルーチンがブロックされるだけでなく、他のコルーチンが実行されないことです。tpool.execute()を呼び出すと現在のコルーチンがブロックされますが、他のコルーチンも実行可能です。これは本当ですか?それ以外の場合は、tpoolがどのように役立つのかわかりません。