# Task scheduling semantics

**URL:** https://discourse.julialang.org/t/task-scheduling-semantics/62950
**Category:** Internals & Design
**Created:** [June 15, 2021, 2:34pm UTC](https://discourse.julialang.org/t/task-scheduling-semantics/62950 "2021-06-15T14:34:40Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![c42f](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/c42f/32/52842_2.png) [@c42f](https://discourse.julialang.org/u/c42f)
#### Post date: [August 8, 2021, 3:34am UTC](https://discourse.julialang.org/t/task-scheduling-semantics/62950/2 "2021-08-08T03:34:14Z")

</div>

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](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](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.

---

_[View the full topic](https://discourse.julialang.org/t/task-scheduling-semantics/62950)._
