cost 219 ms
Kotlin:調用 CoroutineScope.launch 與在協程內啟動之間的區別

[英]Kotlin: Difference between calling CoroutineScope.launch vs launch inside a coroutine

我試圖理解 Kotlin 中的結構化並發,但我無法理解這段代碼。 代碼打印 而如果我用launch替換內部scope.launch調用,就像這樣 它打印 這表明第一個示例不遵循結構化並發,因為父作業在子作業之前完成。 我的困惑是,為什么會這樣? 在這種情況下,我覺得scope.launch可能等同於 ...

在 Swift 的異步上下文中,如何指示我想要 function 的同步版本?

[英]How can I indicate I want the synchronous version of a function when in an async context in Swift?

如果您在 Swift 中使用結構化並發,並且處於異步上下文中,編譯器將假定如果存在 function 的異步版本,那就是您要使用的版本。 有沒有辦法告訴它你想要同步版本? 這是一個例子(並表明它至少在理論上是可能的)。 在 vanilla SpriteKit 中,如果你有一個 SKNode 和這些 ...

有沒有辦法擺脫 @Published 變量上的新並發警告

[英]Is there a way to get rid of a new concurrency warning on a @Published variable

我目前正在研究一個新的 iOS 項目。 為了與 Swift 中的新並發保持同步,我已將Strict concurrency checking設置切換為“完整”。 這當然會產生很多我基本上能夠修復的警告和錯誤。 盡管如此,還是有一些我無法弄清楚的情況。 我的項目結構是 Swift/SwiftUI 中非 ...

我怎么知道 Java 19 結構化並發 StructuredTaskScope 是否關閉(取消)?

[英]How can I know if a Java 19 Structured Concurrency StructuredTaskScope is shutdown ( canceled )?

JDK 19 ShutdownOnFailure scope 還允許使用 shutdown 方法顯式取消所有任務。 怎么知道scope是否關機了? API 包含一個 isShutdown 方法,但它是私有的。 這里有一些(不完整的)代碼只是為了說明可能的用途,其中 scope 在所有者調用 s ...

如何恢復繼續以確保結果在 MainActor 上傳遞?

[英]How to resume a continuation ensuring that the result is delivered on the MainActor?

我有一個延續: 我希望這個 function 的所有調用者都能在 MainActor 上接收結果。 我不希望調用者必須明確指定此重新安排。 我不想要這個: 相反,我想要的是整個代碼在返回后在 MainThread 上執行,直到下一個暫停點,如下所示: 在某種程度上,我想a I return onl ...

TaskGroup 限制大量任務的內存使用量

[英]TaskGroup limit amount of memory usage for lots of tasks

我正在嘗試使用現代 Swift Concurrency 構建分塊文件上傳機制。 有一個流式文件閱讀器,我用它來逐塊讀取 1mb 大小的文件。 它有兩個閉包nextChunk: (DataChunk) -> Void和completion: () - Void 。 第一個被調用的次數與從塊大小的 ...

如何正確取消 Swift async/await function

[英]How to properly cancel Swift async/await function

我已經觀看Explore structured concurrency in Swift (Sundell 迅速,使用 swift 進行黑客攻擊,Ray Renderlich),但所有示例都非常瑣碎 - 異步函數通常只有 1 個異步召喚他們。 這應該如何在現實生活中的代碼中工作? 例如: 然后在某 ...

為什么@MainActor 中的任務不會阻塞 UI?

[英]Why does a Task within a @MainActor not block the UI?

今天,我將 SwiftUI 視圖的 ViewModel 重構為結構化並發。 它觸發網絡請求,當請求返回時,更新@Published屬性以更新 UI。 因為我使用Task來執行 .network 請求,所以我必須回到MainActor來更新我的屬性,我正在探索不同的方法來做到這一點。 一種直接的方法 ...

將本地可變結構傳遞給異步 let 綁定

[英]Passing a local mutable struct into an async let binding

我想創建一個 URL 請求並將其傳遞給 async let 綁定,這對我來說似乎很自然: 為什么我會收到錯誤消息? URLRequest是一個結構,所以當我們將它傳遞給 function 時,function 應該獲得該結構的副本,所以如果我在異步調用之后修改request ,它不應該影響調用。 ...

使用 GlobalScope.launch 和 CoroutineScope().launch 啟動協程有區別嗎?

[英]Is there a difference between using GlobalScope.launch and CoroutineScope().launch to launch a coroutine?

在 Kotlin 中有多種啟動協程的方法。 我發現了幾個使用GlobalScope和CoroutineScope的例子。 但是后者是在啟動協程時直接創建的: 使用GlobalScope : 使用CoroutineScope實例,在啟動協程時直接創建: 在這種情況下,這兩種方法有區別嗎? 第二種情況 ...

Swift - 不等待異步返回

[英]Swift - Not wait for async to return

我希望能夠讓class B中的函數doSomething()不async並且不阻塞它的調用者線程。 但是使用以下代碼,我得到了這個錯誤: 無法將“() async -> Void”類型的函數傳遞給期望同步函數類型的參數 並且 xcode 嘗試將class B中的doSomething( ...

為什么改變 actor 的 nonSendable 屬性是合法的?

[英]why is it legal to mutate an actor's nonSendable property?

以下代碼在 Swift 5.5(測試版)中是合法的: 為什么這是合法的? 狗屬性共享state,不是嗎? 我們不是有同時在不同線程上訪問演員的狗的危險嗎? 這不是演員應該保護我們免受的傷害嗎? 奇怪的是,如果演員的dog屬性是用var而不是let聲明的,我們將不得不在訪問期間說await 。 為什 ...

Kotlin 中的結構化並發規則

[英]Rules of structured concurrency in Kotlin

我在 Kotlin 中找不到明確的結構化並發規則列表。 我已經閱讀了 Kotlin 中協程的主要知識來源,但仍然沒有明確的規則: https://kotlinlang.org/docs/coroutines-basics.html#structured-concurrency https://p ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM