我正在尝试使用 clojure 中的 http-kit 客户端库来执行返回承诺的同步帖子。有没有办法限制做实际帖子的线程数?
我能找到的所有使用内置线程池的示例都使用调用的较低级别的原始函数,request
但它们都是用于 http/get 的。
谢谢
我假设您已经看过http://http-kit.org/client.html#sync
我的问题是你想做一个同步 POST,还是限制线程数?您可以使用 100 个线程进行同步 POST,碰巧您的主线程将等待请求返回。
也许更重要的是,为什么要限制线程数?
另外,请参阅https://github.com/http-kit/http-kit/blob/master/src/org/httpkit/client.clj,特别是request
. 您可以处理它的参数映射,例如
{:url "http://yoursite.com" :worker-pool my-thread-pool-executor}
my-thread-pool-executor
必须扩展ExecutorService。
具体来说,您需要重载submit
RespListener在 http-kit 中使用的内容。您可以submit
与您自己的 ExecutorService 实现同步,以便它在同一个线程上运行。