<div class="gmail_quote">2009/1/25 Sergey S <span dir="ltr"><<a href="mailto:ad.sergey@gmail.com">ad.sergey@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello.<br>
<div class="Ih2E3d"><br>
> If you read the manual, you'll find that each process have it's own receive<br>
> queue, and that new messages are always placed at the end of that queue.<br>
> So, for you example, yes.<br>
<br>
</div>Thanks. I didn't know how message passing is implemented. It got away<br>
from me, while I was reading docs on that.<br>
<div class="Ih2E3d"><br>
> However, your example program don't work the way you seem to expect anyway.<br>
</div><skipped><br>
<div class="Ih2E3d">> So, even if the messages would have been pleced in the wrong order, your program would have worked just as fine.<br>
<br>
</div>Those receive-statements were supposed to illustrate the order in<br>
which I expect messages will be delivered. But you are right in that<br>
program will receive all the message independent from the order. So it<br>
was not very good example to illustrate what I expect =)</blockquote><div><br>Strictly speaking, what erlang guarantees is that if the messages sent from one process arrive at the destination process then they will arrive in the order in which they were sent. This is a weaker definition but one which is reasonable to implement and guarantee in a distributed system. For local processes you can safely assume all messages arrive at the destination.<br>
<br>This says nothing about how messages from different processes are interleaved with one another in the destination process, but you can safely assume that they will be received in the order in which they *arrive*. Or at least close to that order. It is not safe to assume that this corresponds in the time order in which they were sent as they may take differently to long to get there.<br>
<br>Robert<br><br></div></div>