Thank you Brian for clarifying. I recall seeing some performance
comparisons of non blocking server and threaded server so I will
review those to see if my application would benefit from non blocking
IO.

On Tuesday, June 21, 2011, Bryan Duxbury <[email protected]> wrote:
> Your understanding is not correct.
>
> The nonblocking servers make use of nonblocking IO to allow more open
> connections than executing threads, which is good for having many persistent
> connections to lots of intermittent clients. The server.serve() method will
> still block, and clients will still wait for responses as appropriate.
>
> On Mon, Jun 20, 2011 at 7:59 PM, Randall Keeler <[email protected]> wrote:
>
>> Can someone briefly describe the difference between a non-blocking server
>> TNonblockingServer and a blocking threaded server e.g. TThreadedServer?
>>
>> If I understand correctly, it is that in TNonblockingServer the
>> "server.serve()" call does not block the caller? And it is NOT that calls
>> from the client will be non-blocking? In other words the clients will STILL
>> have to wait for a response from the server when using a service, provided
>> the interface isn't defined as a oneway void?
>>
>> If this is the case, is it possible to just take a TThreadedServer and
>> place
>> the "server.serve()" call inside an independent thread that was spawned
>> outside of Thrift and sole purpose is to manage the server.serve call? What
>> disadvantages are there to this approach vs. using TNonblockingServer?
>>
>> Thank you.
>>
>

Reply via email to