Re: The code example in onSpinWait() Javadoc
Nathan and Ila Reynolds via Concurrency-interest <[email protected]>
| Newsgroups | gmane.comp.java.jsr.166-concurrency |
|---|---|
| Message-ID | <CAG7qthB09ZN8Mnhz-sS2ECsX149VY5Tm7mVHnS98Z1v3--_bYA@mail.gmail.com> |
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