Spin-wait hints

With concurrency, we need to ensure that threads waiting to be executed actually get executed. The concept of spin-wait is a process that continually checks for a true condition. The Java platform has an API that permits Java code to issue hints that a spin loop is currently being executed.

While this is not a feature that every Java developer will use, it can be useful for low-level programming. The hint system simply issues hints—indications and performs no other actions. Justifications for adding these hints include the following assumptions:

  • A spin loop's action time can be improved when using a spin hint
  • Use of spin hints will reduce thread-to-thread latency
  • CPU power consumption will be reduced
  • Hardware threads will execute faster

This hint functionality will be contained in a new onSpinWait() method as part of the java.lang.Thread class. Here is an example of implementing the onSpinWait() method:

. . .
volatile boolean notInReceiptOfEventNotification
. . .
while ( notInReceiptOfEventNotification ); {
java.lang.Thread.onSpinWait();
}
// Add functionality here to read and process the event
. . .
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset