Kotlin:创建自定义CoroutineContext

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin:创建自定义CoroutineContext相关的知识,希望对你有一定的参考价值。

我在我的API后端使用Kotlin。我不想在common pool中运行db查询。基本上,我想创建一个CoroutineContext,它有许多与数据库maximumPoolSize匹配的线程。

实现这一目标的最佳方法是什么(通常和我的特定用例)?我知道Kotlin提供开箱即用的contexts,但是创建我自己的最佳方法是什么?

额外的问题:如果我的jdbc连接池大小为3,那么使用线程池大小为3的coroutinecontext是否有意义?这可以保证最好的并发性吗?

答案

您可以使用CoroutineContext创建一个由具有固定线程数的线程池支持的newFixedThreadPoolContext

val myContext = newFixedThreadPoolContext(nThreads = 3, name = "My JDBC context")

是的,将线程池的大小与连接池的大小相匹配似乎是一个好主意,因为这样你的线程(假设它们每次都使用一个连接)将始终为它们准备好数据库连接 - here's博客帖子暗示相同。

以上是关于Kotlin:创建自定义CoroutineContext的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Kotlin 创建自定义视图的构造函数

Kotlin:创建自定义CoroutineContext

如何为 Firebase (Kotlin) 创建自定义身份验证

Kotlin自定义注释,参数

无法使用缩写 android kotlin 生成自定义图像

kotlin 自定义setter