@@ -367,6 +367,8 @@ Functions
367367 The suspension time may be longer than requested by an arbitrary amount,
368368 because of the scheduling of other activity in the system.
369369
370+ .. rubric :: Windows implementation
371+
370372 On Windows, if *secs * is zero, the thread relinquishes the remainder of its
371373 time slice to any other thread that is ready to run. If there are no other
372374 threads ready to run, the function returns immediately, and the thread
@@ -375,12 +377,19 @@ Functions
375377 <https://learn.microsoft.com/windows-hardware/drivers/kernel/high-resolution-timers> `_
376378 which provides resolution of 100 nanoseconds. If *secs * is zero, ``Sleep(0) `` is used.
377379
378- Unix implementation:
380+ .. rubric :: Unix implementation
379381
380382 * Use ``clock_nanosleep() `` if available (resolution: 1 nanosecond);
381383 * Or use ``nanosleep() `` if available (resolution: 1 nanosecond);
382384 * Or use ``select() `` (resolution: 1 microsecond).
383385
386+ .. note ::
387+
388+ To emulate a "no-op", use :keyword: `pass ` instead of ``time.sleep(0) ``.
389+
390+ To voluntarily relinquish the CPU, specify a real-time :ref: `scheduling
391+ policy <os-scheduling-policy>` and use :func: `os.sched_yield ` instead.
392+
384393 .. versionchanged :: 3.5
385394 The function now sleeps at least *secs * even if the sleep is interrupted
386395 by a signal, except if the signal handler raises an exception (see
0 commit comments