博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python thread
阅读量:5291 次
发布时间:2019-06-14

本文共 864 字,大约阅读时间需要 2 分钟。

注意queue, setDaemon。

#! /usr/bin/env python # -*- coding:utf-8 -*- from threading import Threadimport subprocessfrom Queue import Queuenum_threads = 3ips = ['10.108.100.174', '119.75.218.77', '127.0.0.1']q = Queue()def pingit(i, queue):    while True:        ip = queue.get()        print "thread %s is pinging %s" % (i, ip)        ret = subprocess.call('ping -c 3 %s' % ip, shell=True, stdout=open('/dev/null','w'))#正常则返回0,异常则返回1;stdout=open('/dev/null','w')屏蔽ping具体细节信息        if ret != 0:            print "%s is down" % ip        queue.task_done()for i in xrange(num_threads):#xrang比range好    t = Thread(target=pingit, args=(i, q))    t.setDaemon(True)#设置了setDaemon则线程会随着主线程关闭而关闭,python中,主线程结束后,会默认等待子线程结束后,主线程才退出    t.start()for ip in ips:    q.put(ip)print "main thread is waiting..."q.join()print "Done..."

 

转载于:https://www.cnblogs.com/buptmuye/p/3627834.html

你可能感兴趣的文章
C语言之“字符”与“字符串”之间的区别解析
查看>>
<每日 1 OJ> -24. The Simple Problem
查看>>
<每日 1 OJ> -内存文件系统
查看>>
<每日 1 OJ> -LeetCode 28. 实现 strStr()
查看>>
<每日 1 OJ> -LeetCode 21. 合并两个有序链表
查看>>
字符串必须申请内存空间
查看>>
字符串与指针
查看>>
Linux上安装git并在gitlab上建立对应的项目
查看>>
<每日 1 OJ> -LeetCode20. 有效的括号
查看>>
git 学习网站
查看>>
Git常用操作
查看>>
ping-pong buffer
查看>>
Linux 中【./】和【/】和【.】之间有什么区别?
查看>>
Ubuntu sudo 出现 is not in the sudoers file解决方案
查看>>
内存地址对齐
查看>>
看门狗 (监控芯片)
查看>>
#ifndef #define #endif
查看>>
卷积神经网络知识链接
查看>>
java简介
查看>>
浮动、定位
查看>>