Java - alternative to thread.sleep
<p>I have a requirement to pause a while loop for a specific number of milliseconds. I have tried using Thread.sleep(duration) but it is not accurate, especially in a looping scenario. Millisec accuracy is important in my program.</p>

<p>Here is the algorithm where I don't want to go back to check for condition until 'expectedElapsedTime' has passed by. </p>

<pre><code>     while (condition) {
         time = System.currentTimeInMillisec();
         //do something
        // ....
       //  ...
         if (elapsedTime(time) &lt; expectedElapsedTime) ) {
               pause the loop  //NEED SUBSTITUTE FOR Thread.sleep()
         }

      // Alternative that I have tried but not giving good results is 
       while ((elapsedTime(time) &lt; expectedElapsedTime)) {
            //do nothing
      }

}

long elapsedTime(long time) {
   long diff = System.curentTimeMillisec - time;
   return diff;
}


}
</code></pre>
