在线程顺序或并发循环?

时间:2014-11-26 06:26:01

标签: python linux centos python-multithreading

如果我在一个线程中使用for和while循环并多次启动该线程,那么我的代码会顺序还是并发运行? 我正在使用CentOS-Linux,我想从eth0:0,eth0:1,eth0:2等虚拟IP地址发送http请求。我实际上是尝试使用python制作一个流量生成器工具。我使用cURL命令将请求从我虚拟生成的ips列表(在sourceip.sh文件中的iplist中编写)发送到我服务器上的多个文件(登记在urllist.txt文件中)。我在outputfile.txt文件中保存我的请求的状态。 现在我想知道的是天气我能够实现我的目标吗?我的代码是按顺序还是同时运行?这是我的代码......

enter image description here

1 个答案:

答案 0 :(得分:0)

它始终是顺序的.Python从顶部开始读取代码当循环完成后,它将在循环之后启动另一个循环。

while ...:
for .....:

如果它是这样的,在“while”循环完成后,它将继续读取“for”循环。

while ...:
    for.....:

如果像这样,它将运行“for”循环直到“while”循环完成

例如:

a=0
while a<5:
    a+=1
    print "vys"
for x in range(1,10)
    print x

这个将打印vys 5次,之后它将从1到10打印x,如1 2 3 4 ..

a=0
while a<5:
    a+=1
    print "vys"
    for x in range(1,10)
        print x

这个将打印vys 5次,之后它将打印x次5次。因为它在while循环中,从top开始读取。所以最后一个将打印x 5次从1到10像1 2 3 4 .. 1 2 3 4 .. 1 2 3 4 ..但它按顺序我说,所以你会看到这样的代码: vys,1 2 3 4 ..(5次),vys(4次以上)