From f3d979af0c2dcea6007cf051bf8f34e6d7896634 Mon Sep 17 00:00:00 2001 From: Valentin Churavy Date: Mon, 14 Aug 2023 11:07:05 -0400 Subject: [PATCH] Add note the `Task` about sticky bit Co-authored-by: Gabriel Baraldi --- base/docs/basedocs.jl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/base/docs/basedocs.jl b/base/docs/basedocs.jl index 6f005fb4aa565..9b6b1f1bcc15c 100644 --- a/base/docs/basedocs.jl +++ b/base/docs/basedocs.jl @@ -1748,6 +1748,12 @@ Create a `Task` (i.e. coroutine) to execute the given function `func` (which must be callable with no arguments). The task exits when this function returns. The task will run in the "world age" from the parent at construction when [`schedule`](@ref)d. +!!! warning + By default tasks will have the sticky bit set to true `t.sticky`. This models the + historic default for [`@async`](@ref). Sticky tasks can only be run on the worker thread + they are first scheduled on. To obtain the behavior of [`Threads.@spawn`](@ref) set the sticky + bit manually to `false`. + # Examples ```jldoctest julia> a() = sum(i for i in 1:1000);