erlang: упорядочение сообщений трассировки, происходящих из одного процесса - PullRequest
0 голосов
/ 03 января 2011

Это простой вопрос, я не могу найти четкий ответ на:

Можно ли предположить, что порядок следовых сообщений, принадлежащих процессу single , отправляется в порядке вкакие соответствующие события происходят?

(Разумеется, глазурью на торте будет источник, где указано :))

спасибо

1 Ответ

2 голосов
/ 03 января 2011

Сообщения от процесса A к процессу B гарантированно всегда будут упорядочены. Было бы правильно предположить, что события трассировки также будут упорядочены.

Эта гарантия не действует, когда многие процессы отправляют сообщения другому: если A и C одновременно отправляют сообщения B и A до C, нет гарантии, что сообщение A будет там первым. Точно так же, если A отправляет сообщения как B, так и C, нет гарантии, что C не будет иметь своих сообщений до B.

Это может вызвать путаницу, если во время трассировки выполняется IO - IO проходит через определенный процесс (лидера группы), который действует как сервер, поэтому вывод трассировки по сравнению с тем, что происходит сейчас, может дать забавные результаты.

...