Per prima cosa sono abbastanza prevenuto nei confronti della programmazione istituzionalizzata, e questo è uno dei motivi per cui. Ora volevo solo dirlo, quindi puoi prendere questa risposta con un pizzico di sale.
Gli attori sono una costruzione teorica. Loro "possono" significare ciò che vuoi. Nei suoi attori principali ci sono cose che fanno cose. Di solito in un programma incentrato sulla concorrenza, un "attore" è un'analogia per un'unità di lavoro che può essere segmentata dalle altre unità di lavoro in modo tale che il programma funzioni ancora piuttosto o meno l'attore è chiamato, che cosa ordinare è chiamato, o se ci vuole molto tempo per farlo è unità di lavoro.
Fai un processo di importazione. Un attore potrebbe
- apri il file
- leggi riga per riga
- Trasforma i dati
- chiudi il file
Questo potrebbe essere l'attore di importazione.
La lettura riga per riga può essere un altro attore, così come la trasformazione "unità di lavoro" può essere un attore. Tuttavia, le chiamate aperte e chiuse non possono essere attori "separati". Non è possibile chiudere il file, quindi leggerlo riga per riga.
In altre parole. L'attore è solo una cosa. Un nome per un modo di fare le cose. È una teoria, un modo di modellare un processo per fare cose in un modo che noi umani possiamo capire. Potrebbe aiutarci a capire e "dare corpo" a ciò che stiamo cercando di fare, ma alla fine è solo un "do-hickey" Un costrutto che tu puoi implementare come programmatore.
Detto questo, ci sono alcuni strumenti che possono aiutare con la concorrenza. link per esempio aiuta. Il link potrebbe essere qualcosa da guardare. Ma tieni a mente che gli attori non sono una cosa reale, sono un modello o un modello e mentre alcune gemme possono aiutarti con la messaggistica o il threading, non c'è una singola configurazione difficile e veloce che sia un "attore".