Project

General

Profile

Actions

Misc #20272

open

Ambiguity around Ractor message sending FIFO semantics

Added by forthoney (Seong-Heon Jung) 9 months ago. Updated 6 months ago.

Status:
Open
Assignee:
-
[ruby-core:116802]

Description

The docs should explicitly state the semantics/properties of Ractor message, especially when it comes to FIFO.
For example, assume I have two Ractors, Ractor A and Ractor B. Ractor A sends two messages "hello" and "world" in this order to Ractor B.
If I call Ractor.receive on Ractor B, am I guaranteed to see "hello" and then "world" or is it possible the messages are delivered out of order?

Updated by luke-gru (Luke Gruber) 6 months ago

The messages in that case would be guaranteed to be received in order (first "hello" then "world").

If you have 2 different ractors or 2 different threads both receiving messages from the same ractor, then there is no guarantee of the order.

Actions

Also available in: Atom PDF

Like0
Like0