[英]Running multiple loops at once
因此,我正在雲上進行負載平衡,其中我將有多個任務或cloudlet,它們將在可用的不同VM上運行。 我創建了如下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()
現在,我要創建多個VM,並且要同時運行它們,這就是為什么我需要一次運行多個循環的原因。 有沒有一種方法可以實現此目的或其他任何可能的解決方法。
任何幫助表示贊賞。
您要研究的“一般”主題區域是線程。
線程允許您的代碼進行分支,並同時運行多組指令。 這是一個復雜的主題,需要詳細介紹,但是基本思想是每個處理“線程”分別運行,並且與其他線程同時運行(您的操作系統負責在硬件上實際實現此操作)。
在python中,負責線程化的主要模塊是:
線程處理-https: //docs.python.org/2/library/threading.html#module-threading
多重處理-https: //docs.python.org/2/library/multiprocessing.html#module-multiprocessing
當然,這里有太多要提及的內容,但是希望此答案中有足夠的關鍵詞可以幫助您開始研究。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.