Strand class & continuation example

Alan Bateman Alan.Bateman at oracle.com
Thu Jan 31 11:36:39 UTC 2019


On 30/01/2019 23:37, Remi Forax wrote:
> Hi !
>
> ----- Mail original -----
>> De: "Arkadiusz Gasiński" <jigga at jigga.pl>
>> À: "loom-dev" <loom-dev at openjdk.java.net>
>> Envoyé: Mercredi 30 Janvier 2019 19:11:50
>> Objet: Strand class & continuation example
>> Hi,
>>
>> I assume that you're all busy with the loom project, but if anyone here
>> finds some time to briefly explain the rationale behind removal of the
>> Strand class, I'll be really grateful.
> Ron or Alan may correct me but
> the idea of a Strand was that at some point you want consider a Fiber or a Thread as a common strand, but given that their API are different, you can not do much on a strand apart asking if it's a fiber or a thread. That said, you may have a use case were a strand make sense, in that case do not hesitate to share it on this list.
Right, we discussed this in October [1] when we had a super class that 
didn't define anything except a static method to get the current strand, 
essentially the same as:
    strand = Fiber.current().map(f -> 
(Object)f).orElse(Thread.currentThread());

In the JDK, there are cases where the interrupt status needs to be 
checked and re-asserted, and of course waiter queues, where some 
reference is needed, but little need beyond that. So yes, if there are 
good use cases then it would good to bring up.

-Alan

[1] http://cr.openjdk.java.net/~alanb/loom/LoomMeeting20181018.pdf



More information about the loom-dev mailing list