Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
マルチスレッド プログラムを実行すると、エラーがスローされます。select()ファイル記述子を管理しすぎていると思いますが、よくわかりません。誰かが私のためにこれを説明できますか?
select()
readables,writeables,exceptional = select.select(inputs,outputs, []) ValueError: filedescriptor out of range in select()
問題は、select()通常、管理できるファイル記述子に組み込みの制限があることです (ほとんどのシステムでは 1024)。pollまたはを試してみてくださいepoll。
poll
epoll
select()また、ファイル記述子の検索を管理するために非効率的なアルゴリズムを使用していることにも注意してください。このアルゴリズムの計算量は O(n) ですが、epollO(1) です。