因此,我正在研究云上的负载均衡,其中我将拥有多个任务或cloudlet,它们将在不同的am上运行。我创建了如下的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()现在的问题是,我想创建多个虚拟机,并且希望同时运行它们,这就是为什么我需要一次运行多个循环。有没有办法实现这一点或任何其他可能的解决办法。
任何帮助都是非常感谢的。
发布于 2017-09-11 22:57:22
你想要研究的“一般”主题领域是线程。
线程允许您的代码分支,并同时运行多组指令。这是一个复杂的主题,要详细说明,但基本思想是每个处理的“线程”独立运行,并与其他线程同时运行(您的操作系统负责如何在硬件上实际实现这一点)。
在python中,负责线程化的主要模块有:
线程- https://docs.python.org/2/library/threading.html#module-threading
多处理- https://docs.python.org/2/library/multiprocessing.html#module-multiprocessing
当然,这里要提到的太多了,但希望这个答案中有足够的关键字来让你开始研究。
https://stackoverflow.com/questions/46158380
复制相似问题