# SE-0472: Starting tasks synchronously from caller context

**URL:** <https://forums.swift.org/t/se-0472-starting-tasks-synchronously-from-caller-context/78883>\
**Category:** Proposal Reviews\
**Created:** [March 27, 2025, 4:04pm UTC](https://forums.swift.org/t/se-0472-starting-tasks-synchronously-from-caller-context/78883 "2025-03-27T16:04:45Z")\
**Posts on this page:** 1\
**Showing post:** 54

<div class="post-metadata">

**Author:** ![ktoso](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/ktoso/32/44526_2.png) [@ktoso](https://forums.swift.org/u/ktoso)\
**Post date:** [April 8, 2025, 11:03pm UTC](https://forums.swift.org/t/se-0472-starting-tasks-synchronously-from-caller-context/78883/54 "2025-04-08T23:03:02Z")

</div>

> [@kabiroberai](#):
>
> am I right in understanding that the two cases I mentioned (1. calling a `@MainActor` async func from another `@MainActor` async func, and 2. calling a function that inherits `#isolation`) are _guaranteed_ to elide the scheduling overhead? That's the understanding I've had so far, and if so it would make it possible to use this API in ways that provide deterministic behavioral guarantees.

Yes both those are examples of “staying in the same isolation (actor)” and therefore no suspensions take place in such calls.

By the “in general” I meant the very general case of two arbitrary contexts, I should have specified more concretely that there exist specific cases where we can know for sure.

Also depending on the default nonisolated async func isolation mode — accepted in [[Accepted with modifications and focused re-review] SE-0461: Run nonisolated async functions on the caller's actor by default](https://forums.swift.org/t/accepted-with-modifications-and-focused-re-review-se-0461-run-nonisolated-async-functions-on-the-callers-actor-by-default/78920) — calling a nonisolated async function under the caller isolation mode would also not cause suspensions but just keep running on the caller. But that’s dependent on which execution semantics a function has

---

_[View the full topic](https://forums.swift.org/t/se-0472-starting-tasks-synchronously-from-caller-context/78883)._
