python2.7'de, çoklu işlem. Bir işlev içinden başlatıldığında, hatalı bir hata atar. Sorunu yeniden üreten minimal bir örnek sağlıyorum.Çoklu işlemle kırık boru hatası.Que
#!/usr/bin/python
# -*- coding: utf-8 -*-
import multiprocessing
def main():
q = multiprocessing.Queue()
for i in range(10):
q.put(i)
if __name__ == "__main__":
main()
aşağıda kırık boru hatayı
Traceback (most recent call last):
File "/usr/lib64/python2.7/multiprocessing/queues.py", line 268, in _feed
send(obj)
IOError: [Errno 32] Broken pipe
Process finished with exit code 0
neden deşifre alamıyorum atar. Queue nesnelerini bir fonksiyonun içinden dolduramayacağımız kesinlikle garip olurdu. Burada olan sen main()
çağırdığınızda, bu Queue
oluşturduğu nedir
'dan önce çağrılmalıdır. Harika yanıt. Python3'te bunun gerçekleşmediğini belirten bir tane daha vereceğim. – hAcKnRoCk