File tree Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -5358,6 +5358,8 @@ information, consult your Unix manpages.
53585358The following scheduling policies are exposed if they are supported by the
53595359operating system.
53605360
5361+ .. _os-scheduling-policy :
5362+
53615363.. data :: SCHED_OTHER
53625364
53635365 The default scheduling policy.
@@ -5449,7 +5451,7 @@ operating system.
54495451
54505452.. function :: sched_yield()
54515453
5452- Voluntarily relinquish the CPU.
5454+ Voluntarily relinquish the CPU. See :manpage: `sched_yield(2)` for details.
54535455
54545456
54555457.. function :: sched_setaffinity(pid, mask, /)
Original file line number Diff line number Diff line change @@ -385,6 +385,8 @@ Functions
385385 The suspension time may be longer than requested by an arbitrary amount,
386386 because of the scheduling of other activity in the system.
387387
388+ .. rubric :: Windows implementation
389+
388390 On Windows, if *secs * is zero, the thread relinquishes the remainder of its
389391 time slice to any other thread that is ready to run. If there are no other
390392 threads ready to run, the function returns immediately, and the thread
@@ -393,12 +395,19 @@ Functions
393395 <https://learn.microsoft.com/windows-hardware/drivers/kernel/high-resolution-timers> `_
394396 which provides resolution of 100 nanoseconds. If *secs * is zero, ``Sleep(0) `` is used.
395397
396- Unix implementation:
398+ .. rubric :: Unix implementation
397399
398400 * Use ``clock_nanosleep() `` if available (resolution: 1 nanosecond);
399401 * Or use ``nanosleep() `` if available (resolution: 1 nanosecond);
400402 * Or use ``select() `` (resolution: 1 microsecond).
401403
404+ .. note ::
405+
406+ To emulate a "no-op", use :keyword: `pass ` instead of ``time.sleep(0) ``.
407+
408+ To voluntarily relinquish the CPU, specify a real-time :ref: `scheduling
409+ policy <os-scheduling-policy>` and use :func: `os.sched_yield ` instead.
410+
402411 .. audit-event :: time.sleep secs
403412
404413 .. versionchanged :: 3.5
You can’t perform that action at this time.
0 commit comments