美文网首页python百例
107-基于多线程的ping

107-基于多线程的ping

作者: 凯茜的老爸 | 来源:发表于2018-08-09 13:46 被阅读3次

多线程与多进程类似,但是每个线程没有自己的资源空间,它们共用进程的资源。
多线程没有僵尸进程的问题。

import subprocess
import threading

def ping(host):
    rc = subprocess.call(
        'ping -c2 %s &> /dev/null' % host,
        shell=True
    )
    if rc:
        print('%s: down' % host)
    else:
        print('%s: up' % host)

if __name__ == '__main__':
    ips = ['172.40.58.%s' % i for i in range(1, 255)]
    for ip in ips:
        # 创建线程,ping是上面定义的函数, args是传给ping函数的参数
        t = threading.Thread(target=ping, args=(ip,))
        t.start()  # 执行ping(ip)

相关文章

网友评论

    本文标题:107-基于多线程的ping

    本文链接:https://www.haomeiwen.com/subject/hdgqbftx.html