python - 线程顺序循环还是并发循环?

标签 python linux centos python-multithreading

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

enter image description here

最佳答案

它总是按顺序进行。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 次,之后它将打印 x 从 1 到 10,如 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 开始读取。所以最后一个将从 1 到 10 打印 x 5 次,例如 1 2 3 4.. 1 2 3 4.. 1 2 3 4.. 但正如我所说的顺序,所以你会看到这样的代码: vys,1 2 3 4..(5次),vys(4次以上)

关于python - 线程顺序循环还是并发循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27142626/

相关文章:

python - 使用 python sqlalchemy 通过WITH语句执行原始查询

linux - 传递 shell 脚本变量以查找

linux - 如何在 linux 中使用文本文件中的值转到目录

C++ 无法解码回溯

docker - 使用 postgres 和 java 构建 docker

python - 在 res_config 中设置默认持续时间

python - PyTorch 数据加载器 - "IndexError: too many indices for tensor of dimension 0"

python - 使用 Python 将标准 JSON 文件转换为 json-serde 格式并上传到 Amazon Athena 的 AWS S3 存储桶(Presto、Hive)

json - 第 1 行解析错误 : { #networkports "l ----------^ Expecting ' STRING', '}'

linux - Linux 上的 Coldfusion - 发送邮件的 Postfix - 在 Coldfusion Administrator 中放什么?