需求: 多个子线程同时调用a函数处理数据,如何实现让a函数超时之后return或者raise?
1 signal不能在子线程中使用,pass
2 把函数扔到进程里,开销太大,pass
3 把函数扔到单独线程里,改编进程类另其可接受终止信号,再开另外一个线程做监控,不易实现,且个人认为杀掉进程对系统资源的风险很大.
有没有什么好的解决方案,或者已有类库里面的timeout参数都是如何实现的呢?gevent有没有什么好的线程终止方案?
参考:
http://stackoverflow.com/ques...
Adakah anda maksudkan bahawa fungsi tersebut telah melakukan tugas pengkomputeran intensif CPU? Anda boleh membahagikan tugasan itu dan selepas melaksanakan tugasan kecil, semak sama ada ia tamat, dan kembali jika ia tamat, jika tidak, teruskan.
Suplemen:
Jom buat ini
Keluaran saya di sini ialah:
Saya tidak tahu sama ada senario yang anda hadapi adalah seperti ini. Masalah khusus perlu dianalisis secara terperinci.
modul isyarat:
Rujukan http://blog.sina.com.cn/s/blo...
Pertama-tama lihat tempat menyekat yang mungkin dalam fungsi Jika ada tamat masa, tambahkan tamat masa.