multiprocessing
modülüne ilişkin belgeler, multiprocessing.Process
ile başlatılan bir işleme kuyruğun nasıl geçirileceğini gösterir. Ancak, apply_async
ile başlatılan eşzamansız çalışan işlemlerle bir kuyruğu nasıl paylaşabilirim? Dinamik birleştirmeye veya başka bir şeye ihtiyacım yok, sadece çalışanların (tekrar tekrar) sonuçlarını üsse geri bildirmelerinin bir yolu.
çoklu işlem def işçi(ad, sıra): que. put("%d yapılır" % ad) if __name__ == "__main__": havuz = çoklu işlem.Havuz(işlemler=3) q = çoklu işlem.Kuyruk() işçiler = havuz.apply_async(işçi, (33, q))
Bu şu durumlarda başarısız olur: RuntimeError: Kuyruk nesneleri yalnızca kalıtım yoluyla süreçler arasında paylaşılmalıdır
. Bunun ne anlama geldiğini anlıyorum ve bunun yerine devralma tavsiyesini anlıyorum. dekapaj/dekapaj (ve tüm özel Windows kısıtlamaları) gerektirir. Ama kuyruğu çalışan bir şekilde nasıl yapabilirim? Bir örnek bulamıyorum ve başarısız olan birkaç alternatif denedim" çeşitli şekillerde. Yardım edin lütfen?