# Confused about concurrency problem presented in wwdc24 video

**URL:** <https://forums.swift.org/t/confused-about-concurrency-problem-presented-in-wwdc24-video/74118>\
**Category:** Using Swift\
**Tags:** concurrency\
**Created:** [August 23, 2024, 2:29am UTC](https://forums.swift.org/t/confused-about-concurrency-problem-presented-in-wwdc24-video/74118 "2024-08-23T02:29:03Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![David\_Smith](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/david_smith/32/37508_2.png) [@David\_Smith](https://forums.swift.org/u/David_Smith)\
**Post date:** [August 23, 2024, 5:50pm UTC](https://forums.swift.org/t/confused-about-concurrency-problem-presented-in-wwdc24-video/74118/4 "2024-08-23T17:50:12Z")

</div>

Full details here [swift-evolution/proposals/0338-clarify-execution-non-actor-async.md at main · swiftlang/swift-evolution · GitHub](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0338-clarify-execution-non-actor-async.md)

In short, `async` functions _always_ define where they run (which is the opposite of how systems like libdispatch work). `nonisolated` doesn't opt out of that, it just defines it as "the place where I run is not on any actor". In my opinion this is much easier to reason about because you never have to think "some async functions care about where they're called from and others don't", it's just "async functions never care about their caller".

---

_[View the full topic](https://forums.swift.org/t/confused-about-concurrency-problem-presented-in-wwdc24-video/74118)._
