Per ottenere concurrency reale in Ruby o Python, ho bisogno di creare nuovi processi. Python rende questo abbastanza semplice usando il modulo multiprocessing
, che astrae tutta la forchetta/aspetta la bontà e mi permette di concentrarmi sul mio codice. Ruby ha qualcosa di simile? In questo momento sto chiamando Process.fork
e Process.wait
per ottenere la mia concorrenza, e voglio una soluzione più pulita.Qual è l'equivalente di Ruby al modulo di multiprocessing di Python?
7
A
risposta
4
Ho usato https://github.com/grosser/parallel e mi piace molto. Di default #map o #each su tutti i core del tuo sistema. Sotto il cofano è un involucro intorno a Process.fork, che suona come quello che stai chiedendo.
+0
L'unico problema con Parallel è che non mi permette di fare nulla dopo la foratura. Attende sempre il completamento delle attività. – dknight
0
https://github.com/pmahoney/process_shared fatemi sapere se avete richieste di nuove funzionalità per esso :)
Problemi correlati
- 1. Qual è l'equivalente di Ruby di os.walk di Python?
- 2. Qual è l'equivalente di Ruby di python setup.py sviluppare?
- 3. Multiprocessing di Python con pathos
- 4. Processo di multiprocessing Python numero
- 5. Qual è l'equivalente Python di "inspect" di Ruby?
- 6. Qual è l'equivalente di Ruby dell'output di Python [: - 1]?
- 7. Modulo di estensione combinato Python & Ruby
- 8. Multiprocessing di Python nel pallone
- 9. Esempio di documentazione di multiprocessing di Python
- 10. Il pool di multiprocessing Python si blocca al join?
- 11. protocollo di pickle multiprocessing in python
- 12. Tecniche di debug di multiprocessing
- 13. Python multiprocessing errore di uscita
- 14. Qual è l'equivalente di "sys.stdout.write()" in Ruby?
- 15. Qual è il modo migliore per dividere file di grandi dimensioni in Python per il multiprocessing?
- 16. Qual è l'effetto di "lista = lista" nei moduli Python?
- 17. Errore di decolorazione multiprocessing in Python
- 18. Utilizzo del modulo multiprocessing
- 19. Multiprocessing di Python e contatore condiviso
- 20. Multiprocessing di Python: Pool di processi personalizzati
- 21. Python strano multiprocessing con nome di variabile
- 22. Modulo di scrittura per Ruby
- 23. aggiunta dell'intestazione al modulo di richiesta python
- 24. In Python qual è il significato delle parentesi, isolatamente, attorno al nome di un modulo?
- 25. Perché la multiprocessing di Python è in esecuzione in sequenza?
- 26. Perché il modulo di multiprocessing di Python importa __main__ all'avvio di un nuovo processo su Windows?
- 27. Python: multiprocessing e array di c_char_p
- 28. multiprocessing di python: nessun ritorno in diminuzione?
- 29. Multiprocessing di Python e variabile condivisa
- 30. Progettazione multiprocessing Python
Non proprio una risposta alla domanda, ma: Rubino utilizza i thread nativi per un po 'di tempo, quindi le discussioni sono in realtà un ottimo modo per ottenere " vera "concorrenza". Inoltre, non è necessario preoccuparsi delle strutture di dati condivise ecc. (A parte l'ovvia sicurezza del thread) –
Hai già passato questo [uno] [1]? [1]: http://stackoverflow.com/questions/855805/please-introduce-a-multi-processing-library-in-perl-or-ruby – Bourne
@Niklas: mi sono bloccato con Ruby 1.8 al lavoro :( –