簡體   English   中英

Kotlin 協程會一直運行在同一個線程上嗎? 如果不是,那么我們如何使其與 Guice Request Scope 語義一起工作?

[英]Will Kotlin coroutine always run on same thread? If not then how can we make it work with Guice Request Scope semantics?

請求范圍使我們能夠在整個請求處理過程中跟蹤請求明智的變量。 但我認為這取決於線程局部變量。 我假設使用 Kotlin 協程會破壞請求范圍語義的 Guice 注入..

協程並不總是在同一個線程上運行,因此您會遇到線程局部變量的問題,例如 Guice 請求范圍。

但是可以在協程之間傳輸線程局部變量: https : //github.com/Kotlin/kotlinx.coroutines/blob/master/docs/coroutine-context-and-dispatchers.md#thread-local-data

我不知道 Guice,所以我不知道是否有辦法將ThreadContextElement集成到這個框架中。

另請參閱: 如何將依賴於 ThreadLocal 的代碼與 Kotlin 協程一起使用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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