亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python多線程下信號處理程序示例

系統 1749 0

本文實例為大家分享了python多線程下信號處理程序示例的具體代碼,供大家參考,具體內容如下

下面是一個網上轉載的實現思路,經過驗證,發現是可行的,就記錄下來。

思路

python多線程中要響應Ctrl+C的信號以殺死整個進程,需要:

1.把所有子線程設為Daemon;
2.使用isAlive()函數判斷所有子線程是否完成,而不是在主線程中用join()函數等待完成;
3.寫一個響應Ctrl+C信號的函數,修改全局變量,使得各子線程能夠檢測到,并正常退出。

源碼

            
#!/usr/bin/env python
#encoding: utf-8
#filename: signal_demo.py
 
import threading, signal
 
 
def do_job(i, step):
 global exited
 idx = i
 while not exited:
  if(idx < 10000000):
   print 'thread[%d]: idx=%d' % (i, idx)
   idx = idx + step
  else:
   break
 if exited:
  print 'receive a signal to exit, thread[%d] stop.' % i
 else:
  print 'thread[%d] complete.' % i
 
def sig_handler(sig, frame):
 global exited
 exited = True
 print 'receive a signal %d, exited=%d' % (sig, exited)
 
def main():
 #set signal handler
 signal.signal(signal.SIGTERM, sig_handler)
 signal.signal(signal.SIGINT, sig_handler)
 pool = []
 pool_size = 50
 for i in range(pool_size):
  t = threading.Thread(target = do_job, args = (i, pool_size))
  t.setDaemon(True)
  pool.append(t)
  t.start()
 while 1:
  alive = False
  for i in range(pool_size):
   alive = alive or pool[i].isAlive()
   if alive == True:
    break
  if not alive:
   break
 
if __name__ == '__main__':
 exited = False
 main()
          

命令行運行

            
python signal_demo.py
          

截圖

python多線程下信號處理程序示例_第1張圖片

參考文獻

Python中用Ctrl+C終止多線程程序的問題解決

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 抱着cao才爽免费观看 | 欧美真人视频一级毛片 | 久久中文字幕一区二区三区 | 伊人狼人综合网 | 欧美黑人巨大肥婆性视频 | 日韩免费毛片视频 | 99久久www免费人成精品 | 阿v天堂2017| 亚洲国产高清一区二区三区 | 日日干夜夜艹 | 日韩欧美国产高清 | 日韩女人做爰大片 | 极品吹潮视频大喷潮tv | 伊人日本| 日本一级毛片视频在线看 | 日本一级毛片私人影院 | 亚洲午夜天堂 | 亚洲国产欧美在线 | 欧美成人一区二区三区在线视频 | 色伊伊 | 国产成人精品视频免费 | 久久99精品久久只有精品 | 天天天操操操 | 狠狠色丁婷婷综合久久 | 亚洲国产精品久久久久 | 久久精品看片 | 夜夜爽毛片 | 我想看一级黄色毛片 | 久久综合九色综合狠狠97 | 咪咪爱在线视频 | 久久久不卡国产精品一区二区 | 免费看成人频视在线视频 | 国产麻豆va精品视频 | 天天干天天操天天干 | 欧美video巨大粗暴18 | 欧美一级美片在线观看免费 | 高清国产精品入口麻豆 | 日本一级毛片高清免费观看视频 | 午夜香蕉网| 国产日韩一区二区三区 | 久久精品免视看国产成人2021 |