• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Sleep or Yield in a infinite loop

 
vgobiraj
Greenhorn
Posts: 1
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sleep or Yield in a infinite loop
I need to code an infinite loop. What is the best way to pause
the thread for a while.
Sleep : The thread would go to the "sleep" state for the specified amount of time.
Yield: The thread would move from running state to ready state

run()
{
while(true)
{
//do something
Thread.sleep(1000);
OR
Thread.yield();
}
}
Does yield have any problem in a preemptive scheduling system.(like NT)
Thanks
Gobiraj
 
Andrew Trumper
Greenhorn
Posts: 12
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In my experience sleep is the way to go. The yeild loops I've coded tend to be huge processor hogs. I've had to replace them all in the program I've been developing.
The sleep value should be significantly large as well. 1 sec or more.... if possible of course.
 
Marcela Blei
Ranch Hand
Posts: 477
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
"vgobiraj",
your name is not valid as per the Javaranch name conventions. Please refer to the document located here
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic