2

マルチスレッド プログラムを実行すると、エラーがスローされます。select()ファイル記述子を管理しすぎていると思いますが、よくわかりません。誰かが私のためにこれを説明できますか?

readables,writeables,exceptional = select.select(inputs,outputs, [])
ValueError: filedescriptor out of range in select()
4

1 に答える 1

3

問題は、select()通常、管理できるファイル記述子に組み込みの制限があることです (ほとんどのシステムでは 1024)。pollまたはを試してみてくださいepoll

select()また、ファイル記述子の検索を管理するために非効率的なアルゴリズムを使用していることにも注意してください。このアルゴリズムの計算量は O(n) ですが、epollO(1) です。

于 2012-08-15T19:03:15.460 に答える