2011-08-31 24 views
7

Ruby veya Python'da gerçek bir eşzamanlılık elde etmek için yeni süreçler oluşturmam gerekiyor. Python, tüm çatal/bekleme iyiliğini özetleyen ve koduma konsantre olmamı sağlayan multiprocessing modülünü kullanarak bunu oldukça kolay bir şekilde yapıyor. Ruby'nin benzer bir şey var mı? Şu anda eşzamanlılığı elde etmek için Process.fork ve Process.wait numaralı telefonu arıyorum ve daha temiz bir çözüm istiyorum.Ruby, Python'un çoklu işlem modülüne eşdeğer nedir?

+0

değil :) ama için Herhangi bir özellik istekleri varsa bana bildirin: ipler aslında almak için çok iyi bir yoldur, böylece Yakut, bir süredir yerli konuları kullanır " gerçek "eşzamanlılık. Ayrıca, paylaşılan veri yapıları vb. Için endişelenmenize gerek yoktur (belirgin diş güvenliği hariç) –

+0

Bunu zaten yaptınız mı [bir] [1]? [1]: http://stackoverflow.com/questions/855805/please-introduce-a-multi-processing-library-in-perl-or-ruby – Bourne

+0

@Niklas: Ben takıldım Ruby 1.8, işte :( –

cevap

4

https://github.com/grosser/parallel'u kullandım ve çok beğendim. Varsayılan olarak sisteminizdeki tüm çekirdeklerde #map veya #each olacak. Kaputun altında Process.fork'un etrafındaki bir paket var.

+0

Paralel ile ilgili tek sorun, herşeyi yaptıktan sonra bir şey yapmama izin vermemesidir, her zaman görevlerin tamamlanmasını bekler. – dknight

İlgili konular