簡體   English   中英

一次運行多個循環

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM