线程 - Python如何实现让一个函数超时退出?
阿神
阿神 2017-04-18 09:15:49
0
3
458

需求: 多个子线程同时调用a函数处理数据,如何实现让a函数超时之后return或者raise?

1 signal不能在子线程中使用,pass
2 把函数扔到进程里,开销太大,pass
3 把函数扔到单独线程里,改编进程类另其可接受终止信号,再开另外一个线程做监控,不易实现,且个人认为杀掉进程对系统资源的风险很大.

有没有什么好的解决方案,或者已有类库里面的timeout参数都是如何实现的呢?gevent有没有什么好的线程终止方案?

参考:
http://stackoverflow.com/ques...

阿神
阿神

闭关修行中......

全員に返信(3)
大家讲道理

関数が CPU を大量に使用するコンピューティング タスクを実行しているということですか?タスクを分割し、小さなタスクを実行した後、タイムアウトするかどうかを確認し、タイムアウトする場合は戻り、そうでない場合は続行することができます。

補足:
これをやってみましょう

リーリー

ここでの私の出力は次のとおりです:

リーリー

あなたが直面しているシナリオがこのようなものであるかどうかはわかりません。具体的な問題を詳細に分析する必要があります。

いいねを押す +0
Peter_Zhu

シグナルモジュール:

参考 http://blog.sina.com.cn/s/blo...

いいねを押す +0
刘奇

まず、関数内でブロックされる可能性のある場所を確認します。タイムアウトがある場合は、タイムアウトを追加します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!