我正在为 kotlin 开发基于 okhttp3 的库。 okhttp3内部使用自己的Dispatcher它有字段,例如 maxRequests和 maxRequestsPerHost这决定了我们目前可以发送多少请求。我想将此请求的数量设置为等于 Dispatchers.IO 中的协程数量在 kotlin 中,逻辑接近协程。
所以,以下是问题:
- 如何获取 Dispatchers.IO 中的线程数程序代码的范围? (也许有一些我没有找到的方法/公共(public)常量)
- 或者,我们可以通过 Dispatchers.IO 手动设置此数字。文档。 Kotlin 开发人员写道,线程数量“默认为 64 个线程或核心数量的限制(以较大者为准)”。这些信息会改变还是这个事实是不可变的?
最佳答案
答案是您不需要 IO
调度程序来使用 okhttp,因为它是一个异步 HTTP 库。 Dispatchers.IO
的目的是使阻塞操作脱离主 UI 线程。异步操作将在 Main
调度程序上执行,因为它们不会阻塞线程。
关于http - Dispatchers.IO 中有多少个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56270943/