19

`select` statement for Java

 4 years ago
source link: http://mail.openjdk.java.net/pipermail/loom-dev/2020-February/001019.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

`select` statement for Java

`select` statement for Java

Doug Lea dl at cs.oswego.edu
Tue Feb 4 00:32:29 UTC 2020

On 2/3/20 1:38 PM, Ryan Schmitt wrote:
> Are there any current or planned constructs in Java that allow blocking on
> multiple streams of events simultaneously, similar to the `select`
> statement in Go? I realize that technically speaking this is probably
> orthogonal to Loom, but it seems like an important capability in order to
> get the most out of the blocking, imperative thread abstraction that Loom
> is fundamentally about.
>
Yes. We've been contemplating adding to java.util.concurrent a
Loom-friendly channel-like component with select-like capabilities. I
hope to write more about this in the coming months when it gets concrete
enough to ask for feedback. For now: the most likely name is "Carrier",
to distinguish from other channels and queues in Java.

As others have noted, there's not likely to be special syntax, but the
new pattern-match constructs should serve well. As in:
switch(selector.receive()) { case Request r -> service(r); ... }

-Doug






More information about the loom-dev mailing list


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK