# \#structured-concurren

**URL:** https://forums.swift.org/tag/structured-concurren/706.md

[Latest](https://forums.swift.org/latest.md) · [Categories](https://forums.swift.org/categories.md) · [Tags](https://forums.swift.org/tags.md)

---

## [Will there be native support for generator functions?](https://forums.swift.org/t/will-there-be-native-support-for-generator-functions/89405)

<div class="topic-metadata">

**Author:** [@isaac-weisberg](https://forums.swift.org/u/isaac-weisberg)\
**Replies:** 0\
**Last updated:** [September 7, 2026, 1:27pm UTC](https://forums.swift.org/t/will-there-be-native-support-for-generator-functions/89405 "2026-09-07T13:27:01Z")

</div>

I was just wondering if the team is planning to add native support for declaring async sequences, not through the continuations...

---

## [\[Accepted\] SE-0504: Task Cancellation Shields](https://forums.swift.org/t/accepted-se-0504-task-cancellation-shields/84667)

<div class="topic-metadata">

**Author:** [@John\_McCall](https://forums.swift.org/u/John_McCall)\
**Replies:** 10\
**Last updated:** [February 12, 2026, 11:12am UTC](https://forums.swift.org/t/accepted-se-0504-task-cancellation-shields/84667 "2026-02-12T11:12:21Z")

</div>

Hello, Swift community. The review of SE-0504: Task Cancellation Shields initially ran from January 12th through January 26th, 2026. There was quite a lot of discussion in the review thread, mostly focused on the naming…

---

## [Is @concurrent now the standard tool for shifting expensive synchronous work off the main actor?](https://forums.swift.org/t/is-concurrent-now-the-standard-tool-for-shifting-expensive-synchronous-work-off-the-main-actor/82976)

<div class="topic-metadata">

**Author:** [@jeremyabannister](https://forums.swift.org/u/jeremyabannister)\
**Replies:** 44\
**Last updated:** [January 8, 2026, 9:13am UTC](https://forums.swift.org/t/is-concurrent-now-the-standard-tool-for-shifting-expensive-synchronous-work-off-the-main-actor/82976 "2026-01-08T09:13:06Z")

</div>

I reached for the new @concurrent attribute for the first time just now, and I want to verify that my understanding is correct and that I'm not missing a different recommended way to handle my situation. I'm writing a m…

---

## [Tasks scope / pool with cancellation](https://forums.swift.org/t/tasks-scope-pool-with-cancellation/74164)

<div class="topic-metadata">

**Author:** [@Dmitriy\_Ignatyev](https://forums.swift.org/u/Dmitriy_Ignatyev)\
**Replies:** 5\
**Last updated:** [December 23, 2025, 2:17am UTC](https://forums.swift.org/t/tasks-scope-pool-with-cancellation/74164 "2025-12-23T02:17:54Z")

</div>

Hi all. Is there a way to make / imitate something like Scopes in Kotlin? What I want to do is to cancel all running tasks when screen closed. So, imagine that using VIP pattern a task-scope is cretaed and Interactor k…

---

## [\[Pitch\] Limited Parallelism TaskGroup](https://forums.swift.org/t/pitch-limited-parallelism-taskgroup/80404)

<div class="topic-metadata">

**Author:** [@techinessoverloaded](https://forums.swift.org/u/techinessoverloaded)\
**Replies:** 38\
**Last updated:** [July 29, 2025, 3:01pm UTC](https://forums.swift.org/t/pitch-limited-parallelism-taskgroup/80404 "2025-07-29T15:01:51Z")

</div>

We know that OperationQueue is still commonly used in codebases to achieve parallel decomposition of work. Its counterpart in Structured Concurrency is TaskGroup. However, OperationQueue provides a convenient way to limi…

---

## [Has Swift's concurrency model gone too far?](https://forums.swift.org/t/has-swifts-concurrency-model-gone-too-far/77468)

<div class="topic-metadata">

**Author:** [@crontab](https://forums.swift.org/u/crontab)\
**Replies:** 144\
**Last updated:** [July 29, 2025, 1:32am UTC](https://forums.swift.org/t/has-swifts-concurrency-model-gone-too-far/77468 "2025-07-29T01:32:07Z")

</div>

While porting some of my libraries to Swift 6 in preparation for my next projects, it struck me for the first time in my 5-6 years of Swift programming, and maybe echoing some of the posts on this forum: has Swift become…

---

## [\[Pitch\] Structured Task Cancellation Tokens](https://forums.swift.org/t/pitch-structured-task-cancellation-tokens/80355)

<div class="topic-metadata">

**Author:** [@mi11ion](https://forums.swift.org/u/mi11ion)\
**Replies:** 17\
**Last updated:** [June 17, 2025, 8:11pm UTC](https://forums.swift.org/t/pitch-structured-task-cancellation-tokens/80355 "2025-06-17T20:11:05Z")

</div>

Hello This is a pitch addressing a significant limitation in Swift's concurrency system: the current binary cancellation model provides no context about why a task was cancelled, making it impossible to implement differ…

---

## [Does String copy storage between actors?](https://forums.swift.org/t/does-string-copy-storage-between-actors/74747)

<div class="topic-metadata">

**Author:** [@STREGA](https://forums.swift.org/u/STREGA)\
**Replies:** 3\
**Last updated:** [September 19, 2024, 11:56pm UTC](https://forums.swift.org/t/does-string-copy-storage-between-actors/74747 "2024-09-19T23:56:57Z")

</div>

Hey all, I’m migrating a library to Swift 6. I use String as an identifier for file resource cache lookups. I’m mildly aware that string is not just a struct, but also references a storage container; like array. Are …

---

## [Actor concurrent/parallel execution](https://forums.swift.org/t/actor-concurrent-parallel-execution/58662)

<div class="topic-metadata">

**Author:** [@pyretttt](https://forums.swift.org/u/pyretttt)\
**Replies:** 33\
**Last updated:** [September 19, 2024, 7:32pm UTC](https://forums.swift.org/t/actor-concurrent-parallel-execution/58662 "2024-09-19T19:32:35Z")

</div>

Hello guys, could you tell me guys. Do swift actors support parallel execution overall? After some source code research and few articles read - I make assumption that all custom actor direct they calls to global executo…

---

## [Help understanding a Swift 5.10 compiler warning when racing two async tasks to arrange a timeout mechanism using structured concurrency](https://forums.swift.org/t/help-understanding-a-swift-5-10-compiler-warning-when-racing-two-async-tasks-to-arrange-a-timeout-mechanism-using-structured-concurrency/71475)

<div class="topic-metadata">

**Author:** [@Joseph\_Heck](https://forums.swift.org/u/Joseph_Heck)\
**Replies:** 2\
**Last updated:** [April 26, 2024, 3:43pm UTC](https://forums.swift.org/t/help-understanding-a-swift-5-10-compiler-warning-when-racing-two-async-tasks-to-arrange-a-timeout-mechanism-using-structured-concurrency/71475 "2024-04-26T15:43:49Z")

</div>

I cribbed this rough pattern from WWDC23's Beyond Structured Concurrency talk, but I'm concerned that I'm mis-using it or that it's not safe to do what I'm after. My goal is to call an async method that returns a result…

---

## [Task Groups (creation) design choices of API](https://forums.swift.org/t/task-groups-creation-design-choices-of-api/70281)

<div class="topic-metadata">

**Author:** [@Diggory](https://forums.swift.org/u/Diggory)\
**Replies:** 10\
**Last updated:** [February 26, 2024, 9:36pm UTC](https://forums.swift.org/t/task-groups-creation-design-choices-of-api/70281 "2024-02-26T21:36:21Z")

</div>

Hello there. I've been reading-up on Swift Concurrency again to reinforce my knowledge about how it works. The Swift Book chapter is very good and clear. However, when I get to the Task Groups section the API seems a …

---

## [Awaiting fulfillment(of:timeout:enforceOrder:) doesn’t wait?](https://forums.swift.org/t/awaiting-fulfillment-ofenforceorder-doesn-t-wait/69386)

<div class="topic-metadata">

**Author:** [@JetForMe](https://forums.swift.org/u/JetForMe)\
**Replies:** 4\
**Last updated:** [January 12, 2024, 4:00pm UTC](https://forums.swift.org/t/awaiting-fulfillment-ofenforceorder-doesn-t-wait/69386 "2024-01-12T16:00:34Z")

</div>

I'm trying to unit test some code that has a series of async operations (StoreKit code). I have to sink on a @Publisher and wait to get the right value, then call a method, and do it again. But it seems awaiting fulfillm…

---

## [waitWithTaskGroup only seems to reap results when all child tasks are done](https://forums.swift.org/t/waitwithtaskgroup-only-seems-to-reap-results-when-all-child-tasks-are-done/65818)

<div class="topic-metadata">

**Author:** [@hassila](https://forums.swift.org/u/hassila)\
**Replies:** 12\
**Last updated:** [June 29, 2023, 7:49pm UTC](https://forums.swift.org/t/waitwithtaskgroup-only-seems-to-reap-results-when-all-child-tasks-are-done/65818 "2023-06-29T19:49:26Z")

</div>

Hi, Looking at parallelising some filtering or large data sets using waitWithTaskGroup, it seems that the task handling the results won't get scheduled until all the child tasks are done - I've played with different siz…

---

## [Converting function value of type '@MainActor (..., ...) -\> Bool' to '(..., ...) throws -\> Bool' loses global actor 'MainActor'](https://forums.swift.org/t/converting-function-value-of-type-mainactor-bool-to-throws-bool-loses-global-actor-mainactor/63227)

<div class="topic-metadata">

**Author:** [@bartvk](https://forums.swift.org/u/bartvk)\
**Replies:** 2\
**Last updated:** [February 21, 2023, 8:32am UTC](https://forums.swift.org/t/converting-function-value-of-type-mainactor-bool-to-throws-bool-loses-global-actor-mainactor/63227 "2023-02-21T08:32:58Z")

</div>

I have the following code, which can be pasted right into an empty project: struct Product: Decodable, Identifiable { let id: Int let title: String } @MainActor class ViewModel: ObservableObject { @Publishe…

---

## [Swift non actor isolated closures](https://forums.swift.org/t/swift-non-actor-isolated-closures/59935)

<div class="topic-metadata">

**Author:** [@pyretttt](https://forums.swift.org/u/pyretttt)\
**Replies:** 4\
**Last updated:** [August 29, 2022, 5:27pm UTC](https://forums.swift.org/t/swift-non-actor-isolated-closures/59935 "2022-08-29T17:27:21Z")

</div>

Do escaping closure that are passed to actor method inherit actor isolation? Or they are non isolated? For instance: actor MyActor { func method(\_ closure: @escaping () async -\> Void) { await closure() } } …

---

## [The hardest part to understand the new Structured concurrency system is](https://forums.swift.org/t/the-hardest-part-to-understand-the-new-structured-concurrency-system-is/58493)

<div class="topic-metadata">

**Author:** [@AlexSedykh](https://forums.swift.org/u/AlexSedykh)\
**Replies:** 1\
**Last updated:** [August 25, 2022, 2:25am UTC](https://forums.swift.org/t/the-hardest-part-to-understand-the-new-structured-concurrency-system-is/58493 "2022-08-25T02:25:42Z")

</div>

Unstructured Tasks within Actors If called from the context of an existing task: if executed within the scope of a specific actor function: inherit the actor's execution context and run the task on its executor, rat…

---

## [How do delay the response to an async method?](https://forums.swift.org/t/how-do-delay-the-response-to-an-async-method/59504)

<div class="topic-metadata">

**Author:** [@Avi](https://forums.swift.org/u/Avi)\
**Replies:** 13\
**Last updated:** [August 8, 2022, 6:59pm UTC](https://forums.swift.org/t/how-do-delay-the-response-to-an-async-method/59504 "2022-08-08T18:59:00Z")

</div>

I have an actor with a method like the following: func downloadRequested(\_ request: DownloadRequest) async throws -\> Response { let download = try await self.download(for: request) self.transferIdMap\[do…

---

## [Support multiple listeners with Swift Concurrency](https://forums.swift.org/t/support-multiple-listeners-with-swift-concurrency/59303)

<div class="topic-metadata">

**Author:** [@tourultimate](https://forums.swift.org/u/tourultimate)\
**Replies:** 3\
**Last updated:** [July 30, 2022, 3:09pm UTC](https://forums.swift.org/t/support-multiple-listeners-with-swift-concurrency/59303 "2022-07-30T15:09:42Z")

</div>

I would like to have a simple generic object that looks something like this: actor MultipleListenerOperation\<Success\> { let operation: () async throws -\> Success init(operation: @escaping @Sendable () async thr…

---

## [Task's closure not called in async XCTest function](https://forums.swift.org/t/tasks-closure-not-called-in-async-xctest-function/59093)

<div class="topic-metadata">

**Author:** [@couchdeveloper](https://forums.swift.org/u/couchdeveloper)\
**Replies:** 3\
**Last updated:** [July 24, 2022, 12:01pm UTC](https://forums.swift.org/t/tasks-closure-not-called-in-async-xctest-function/59093 "2022-07-24T12:01:06Z")

</div>

I came across an issue when writing unit tests for a "Finite State Automaton plus Side Effect" machinery. I was able to reduce the code to illustrate the problem as follows: func testExampleIssueAsync2() async thro…
