所以我正在云上进行负载均衡,我将拥有多个任务或cloudlet,它们将在不同的虚拟机上运行。我创建了如下的cloudlets:
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])
现在我在VM上执行这些任务(最初是一个VM),
start = time.time()
for x in sorted_keys:
rem = cloudlets[x]
while rem != 0:
rem -= 1
end = time.time()
现在我想创建多个虚拟机,我想同时运行它们,这就是我需要一次运行多个循环的原因。有没有办法实现这个或任何其他可能的解决方法。
感谢任何帮助。
答案 0 :(得分:0)
您要查看的“常规”主题区域是线程。
线程允许您的代码分支,并同时运行多组指令。这是一个复杂的主题,详细介绍,但基本的想法是处理运行的每个“线程”,与其他人同时运行(您的操作系统负责如何在硬件上实现这一点)。
在python中,负责线程的主要模块是:
线程 - https://docs.python.org/2/library/threading.html#module-threading
多处理 - https://docs.python.org/2/library/multiprocessing.html#module-multiprocessing
这里当然有太多值得一提,但希望这个答案中有足够的关键词让你开始研究。