我正在尝试使用clojure中的http-kit客户端库来同步发布返回承诺。有没有办法限制执行实际post的线程数量?
我能找到的使用内置线程池的所有示例都使用了名为request的低级原语函数,但它们都是针对http/get的。
谢谢
发布于 2014-03-25 22:10:00
我猜你已经见过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实现同步,这样它就可以在同一个线程上运行。
https://stackoverflow.com/questions/22064363
复制相似问题