Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

yield

Yields the current thread potentially allowing other threads to run.

Thread.yield
pub fn yield() YieldError!void

File

lib/std/Thread.zig:380

Code

pub fn yield() YieldError!void {
    if (native_os == .windows) switch (windows.ntdll.NtYieldExecution()) {
        .SUCCESS, .NO_YIELD_PERFORMED => return,
        else => return error.SystemCannotYield,
    };
    switch (posix.errno(posix.system.sched_yield())) {
        .SUCCESS => return,
        .NOSYS => return error.SystemCannotYield,
        else => return error.SystemCannotYield,
    }
}