在上运行多个循环

2024-05-16 05:49:01 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我正在研究云上的负载平衡,其中我将有多个任务或cloudlet,它们将在不同的vm上运行。我创建了Cloudlet,如下所示:

cloudlets = {}

cloudlets_no = 400
a = ""
for x in range(cloudlets_no):
    a = "cloudlet_id_{}".format(x)

    cloudlets[a] = 1000 + (random.randint(0,100))


sorted_keys = []

sorted_cloudlets = sorted(cloudlets, key=cloudlets.__getitem__)
for k in sorted_cloudlets:
    sorted_keys.append(k)
    print "{} : {}".format(k, cloudlets[k])

现在要在虚拟机(最初是单个虚拟机)上执行这些任务

start = time.time()
for x in sorted_keys:
    rem = cloudlets[x]
    while rem != 0:
        rem -= 1

end = time.time()

现在的问题是我想创建多个vm,我想同时运行它们,这就是为什么我需要同时运行多个循环。有什么方法可以实现这一点或任何其他可能的解决办法。你知道吗

感谢您的帮助。你知道吗


Tags: noinidformatfortimevmrange
1条回答
网友
1楼 · 发布于 2024-05-16 05:49:01

您要研究的“常规”主题领域是线程。你知道吗

线程允许您的代码分支,并同时运行多组指令。这是一个需要详细讨论的复杂主题,但基本思想是每个处理线程都是独立运行的,并且与其他线程同时运行(您的操作系统负责如何在硬件上实际实现这一点)。你知道吗

在python中,负责线程的主要模块有:

线程-https://docs.python.org/2/library/threading.html#module-threading

多处理-https://docs.python.org/2/library/multiprocessing.html#module-multiprocessing

当然这里有太多的东西要提,但希望有足够的关键字在这个答案,让你开始研究。你知道吗

相关问题 更多 >