Lettura (sufficiente per ottenere la codifica) tramite Erlang Programming e Programming Erlang.Ordine di tempo dei messaggi
Una domanda, che è così semplice come sembra:
Se si dispone di un processo Pid1
sulla macchina m1
miliardi e milioni di messaggi vengono inviati a Pid1
,
sono messaggi gestiti in parallelo da quel processo (ottengo l'impressione n.) e
(risposta di seguito)
c'è qualche garanzia di ordine durante l'elaborazione dei messaggi? vale a dire. Ricevuto nell'ordine inviato? In tal caso, in che modo viene gestita l'inclinazione dell'orologio in situazioni di traffico elevato per l'ordine?
Provenendo da C/Pool di thread/Sfondo Stato condiviso ... Voglio ottenere questo concreto. Comprendo la distribuzione di un'applicazione, ma voglio garantire che le "ossa grezze" siano ciò che mi aspetto prima di creare processi e distribuire il carico di lavoro.
Inoltre, Ho ragione di pensare che il mondo intero sta attualmente sfogliando i testi Erlang;)
+1, una buona risposta valida. Il mio pensiero sul passaggio dei messaggi è molto più chiaro ora che se A e B inviano molti messaggi a C, allora nessun ordine (dell'unione dei messaggi di A e B) è concreto. Qualcosa da considerare nel "posizionamento delle preoccupazioni" nel design, penso. –
Joe Armstrong fa un'analogia (http://armstrongonsoftware.blogspot.com/2006/08/concurrency-is-easy.html) che mi piace molto. L'ordine garantisce di essere esattamente lo stesso di un gruppo di persone che parlano tra loro. – cthulahoops
Ottimo link, grazie! –