Http://docs.python.org/dev/library/multiprocessing.html adresindeki belgeleri okumaya çalıştım, ancak hala çoklu işlem Kuyruğu, Havuz ve Kilitleme ile uğraşıyorum. Ve şimdilik aşağıdaki örneği oluşturabildim.
Kuyruk ve Havuz ile ilgili olarak, kavramı doğru şekilde anladığımdan emin değilim, bu yüzden yanılıyorsam düzeltin. Başarmaya çalıştığım şey aynı anda 2 isteği işlemek (bu örnekte veri listesinde 8 tane var), peki ne kullanmalıyım? Havuz, iki farklı kuyruğu (en fazla 2) işleyebilen 2 işlem oluşturmak için mi yoksa her seferinde 2 girişi işlemek için yalnızca Kuyruk mu kullanmalıyım? Kilit, çıktıları doğru şekilde yazdırmak olacaktır.
import multiprocessing
import time
data = (['a', '2'], ['b', '4'], ['c', '6'], ['d', '8'],
['e', '1'], ['f', '3'], ['g', '5'], ['h', '7']
)
def mp_handler(var1):
for indata in var1:
p = multiprocessing.Process(target=mp_worker, args=(indata[0], indata[1]))
p.start()
def mp_worker(inputs, the_time):
print " Processs %s\tWaiting %s seconds" % (inputs, the_time)
time.sleep(int(the_time))
print " Process %s\tDONE" % inputs
if __name__ == '__main__':
mp_handler(data)