Re: The code example in onSpinWait() Javadoc

David Lloyd via Concurrency-interest <[email protected]>
Newsgroups gmane.comp.java.jsr.166-concurrency
Message-ID <CANghgrQKjskK5eKxurexBkDtJKjKZaZZM52E4_V5m5MPAWs0ZA@mail.gmail.com>
A trivial spin lock?

On Thu, Nov 14, 2019 at 9:18 AM Nathan and Ila Reynolds via
Concurrency-interest <[email protected]> wrote:
>
> I suppose this begs the question for the community.  What would be the perfect example?
>
> On Thu, Nov 14, 2019 at 7:48 AM Roman Leventov via Concurrency-interest <[email protected]> wrote:
>>
>> Thread.onSpinWait()'s Javadoc has the following code example:
>>
>>      class EventHandler {
>>          volatile boolean eventNotificationNotReceived;
>>          void waitForEventAndHandleIt() {
>>              while ( eventNotificationNotReceived ) {
>>                  java.lang.Thread.onSpinWait();
>>              }
>>              readAndProcessEvent();
>>          }
>>
>>          void readAndProcessEvent() {
>>              // Read event from some source and process it
>>               . . .
>>          }
>>      }
>>
>> Which doesn't seem to me as the best practice of using Thread.onSpinWait().
>>
>> Thread.onSpinWait() is used in a very few classes in JDK itself, even compared to other low-level mechanisms such as LockSupport.park/unpark. It's hard to use it right. Cf. a recent thread "Low-latency pause in JDK" in this mailing list.
>>
>> Maybe, in this case, it's better to not provide any usage example than to provide such half-baked/"context and caveats" example, to prevent users from copying this pattern from the highly visible Thread class's Javadocs?
>>
>> Expert users, the target audience for this method, unlikely benefit from the present example either.
>> _______________________________________________
>> Concurrency-interest mailing list
>> [email protected]
>> http://cs.oswego.edu/mailman/listinfo/concurrency-interest
>
>
>
> --
> -Nathan
> _______________________________________________
> Concurrency-interest mailing list
> [email protected]
> http://cs.oswego.edu/mailman/listinfo/concurrency-interest



-- 
- DML

_______________________________________________
Concurrency-interest mailing list
[email protected]
http://cs.oswego.edu/mailman/listinfo/concurrency-interest
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.