我正在尝试使用clojure中的http-kit客户端库来执行返回promises的同步帖子。有没有办法限制执行实际帖子的线程数?
我可以找到使用内置线程池的所有示例都使用名为request
的低级原始函数,但它们都是用于http / get。
由于
答案 0 :(得分:1)
我假设您已经看过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实现同步,以便它在同一个线程上运行。