約束を返す同期投稿を行うために、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を拡張する必要があります。
具体的には、 RespListenerが http-kit で使用するsubmit
ものをオーバーロードする必要があります。同じスレッドで実行されるように、独自の ExecutorService 実装と同期させることができます。submit