Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python mininet中的线程ping_Python_Multithreading_Ping_Sdn_Mininet - Fatal编程技术网

Python mininet中的线程ping

Python mininet中的线程ping,python,multithreading,ping,sdn,mininet,Python,Multithreading,Ping,Sdn,Mininet,我想同时启动两个或多个主机,用python在mininet中ping另外两个主机,我这样做了,但不起作用 def simpleTest(h1,h2): print (h1.cmd('ping -c5 %s' h2.IP())) 主要内容: if __name__ == '__main__': net = Mininet(...) threads= 3 # three threads #....codes...... for i in range(1

我想同时启动两个或多个主机,用python在mininet中ping另外两个主机,我这样做了,但不起作用

def simpleTest(h1,h2): 

    print (h1.cmd('ping -c5 %s' h2.IP()))
主要内容:

if __name__ == '__main__':
    net = Mininet(...)
    threads= 3 # three threads
    #....codes...... 
    for i in range(1, threads):
        hostsrc=net.hosts[i]
        hostdest=net.hosts[i+4]
        thread = threading.Thread(target=simpleTest(hostsrc,hostdest))
        jobs.append(thread)

    for j in jobs:
        j.start()
    for j in jobs:
        j.join()
    """
    codes ...
    """

任何解决方案请…

通过在这行中添加args,它起到了作用

        thread = threading.Thread(target=simpleTest, args=(hostsrc,hostdest,))

问题是,当您将
simpleTest
函数作为参数传递时,您正在调用它。您应该这样编写代码:

thread = threading.Thread(target = simpleTest, args = (hostsrc, hostdest,))
或使用lambda:

thread = threading.Thread(target = lambda:simpleTest(hostsrc, hostdest))

您编写的代码将值None传递给
目标
参数,因为
simpleTest
函数不返回任何值,所以调用
start
方法时没有发生任何事情。

什么不起作用?具体来说是“不同时”的意思,这在您的程序中意味着什么。这是否意味着有错误?没有错误,但ping未处于并行状态