http - Dispatchers.IO 中有多少个线程?

标签 http kotlin okhttp kotlin-coroutines

我正在为 kotlin 开发基于 okhttp3 的库。 okhttp3内部使用自己的Dispatcher它有字段,例如 maxRequestsmaxRequestsPerHost这决定了我们目前可以发送多少请求。我想将此请求的数量设置为等于 Dispatchers.IO 中的协程数量在 kotlin 中,逻辑接近协程。

所以,以下是问题:

  1. 如何获取 Dispatchers.IO 中的线程数程序代码的范围? (也许有一些我没有找到的方法/公共(public)常量)
  2. 或者,我们可以通过 Dispatchers.IO 手动设置此数字。文档。 Kotlin 开发人员写道,线程数量“默认为 64 个线程或核心数量的限制(以较大者为准)”。这些信息会改变还是这个事实是不可变的?

最佳答案

答案是您不需要 IO 调度程序来使用 okhttp,因为它是一个异步 HTTP 库。 Dispatchers.IO 的目的是使阻塞操作脱离主 UI 线程。异步操作将在 Main 调度程序上执行,因为它们不会阻塞线程。

关于http - Dispatchers.IO 中有多少个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56270943/

相关文章:

java - 如何使用 OKHTTP 进行并发网络请求?

javascript - 使用 angular.js 和 php 在 $http 请求中的错误回调函数中遇到问题

android - BottomSheetDialogFragment未打开,仅显示小白条

android - 在 Kotlin 中循环字符串并用新行替换句号

java - 如何在 Android Kotlin 中包装异步 Java 库?

java - 如何使用 Java 将包含 JSON 对象的字符串转换为实际的 JSON

java - 从线程外部更新进度对话框

http - http2 TCP 连接何时关闭?

php - 使用自己的上下文资源的 Coral CDN 的 file_get_contents 将不起作用

android - 使用 Coroutine runblock 和 Authenticator 来处理来自改造的 401 响应