Task scheduling semantics

I needed to know about the new behavior but was also confused about where to look. To link up some information I found:

The co-scheduling behavior of @async tasks with their parent tasks was discussed in

https://github.com/JuliaLang/julia/issues/41324

For 1.7, it was decided that unsticky tasks become sticky if they launch any children with @async, thus ensuring that @async tasks always run on the same thread as their parent.

https://github.com/JuliaLang/julia/pull/41334

This probably isn’t a long term solution, it’s more of a workaround to ensure existing code doesn’t break.

2 Likes