This likely doesn't help much... but C++ has concurrent clients (in addition to "normal" clients" that are thread safe. They do have substantial locking overhead though.
On Tue, Jun 7, 2016 at 8:29 AM, BCG <[email protected]> wrote: > > On 06/07/2016 07:54 AM, Matt Chambers wrote: > >> Another way to do it would be to use ThreadLocal connections. >> https://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html < >> https://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html> >> >> On Jun 7, 2016, at 6:14 AM, Daniel Wu <[email protected]> wrote: >>> >>> Thrift client/connection is not thread safe. Use a lock or object pool. >>> >>> On 7/6/2016, 5:51 PM, "Tuan Le Dinh" <[email protected]> wrote: >>> >>> >>> You might not see too much gain in simply pooling/locking/reusing > clients, as the real overhead that you are trying to avoid (I presume) is > the overhead of establishing connections. Simply reusing THttpClient might > not avoid this overhead. > > In addition to (or perhaps instead of) reusing client instances you might > want to investigate the connection pooling functionality built into Commons > HTTP Components: > > https://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html > > You could, for example, manually configure an HttpClient instance to use > connection pooling and then just pass that instance to the > THttpClient(String url, HttpClient client) constructor. > >
