john at January 18th, 2007 02:45 — #1
How do you tell the OS in windows to process another thread or process, which is useful when your app is processor-extensive? Sort of like the DoEvents in Visual Basic. I'm sure there is a Win32 API for that. Tried searching, but couldn't find anything.
dk2 at January 18th, 2007 02:51 — #2
There's an API called SwitchToThread()
You could also call Sleep(0), which should yield to any thread that has the same or higher priority.
pater at January 18th, 2007 16:01 — #3
Or, if you need to perform longer cpu-power expensive tasks (but nothing time-critical), you could also just lower your own process or task priority. That way, you can get as much CPU time as you want, without disturbing any other process/thread. All applications will stay responsive and act as if nothing was special, but you can use all the "idle" time without you having to periodically call Sleep().