Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #8355

Re: Blocking IO thread-per-connection model: possible to avoid polling?

From Robert Klemme <shortcutter@googlemail.com>
Newsgroups comp.lang.java.programmer
Subject Re: Blocking IO thread-per-connection model: possible to avoid polling?
Date 2011-09-27 07:49 +0200
Message-ID <9ed6f6F77sU1@mid.individual.net> (permalink)
References <CAA6C4A3.7E8F%bravegag@hotmail.com> <Ub-dnbm5zeCRZh3TnZ2dnUVZ_oudnZ2d@posted.palinacquisition>

Show all headers | View raw


On 09/27/2011 12:22 AM, Peter Duniho wrote:
> On 9/26/11 3:09 PM, Giovanni Azua wrote:
>> Hello,
>>
>> I'm firstly implementing this "thread-per-connection model" on the Server
>> component where one thread is responsible for reading the requests and
>> sending results back to the client, it is not responsible for actually
>> processing the requests though. I can gracefully (cleanup) stop the
>> thread
>> by doing socket.getChannel().close() see the snippet below. However, in
>> order to send data, I also need to interrupt the Thread while it is
>> blocked
>> waiting for input. Apparently the only way to do this without closing the
>> channel as side effect is to do polling?
>
> Why do you need to interrupt the thread in order to send data? You
> should be able to just get the output stream from the socket when you
> create it, and then use that any time you want to send data.

Absolutely agree.

> The thread that reads from the socket shouldn't need to be responsible
> for sending at all (except possibly as an optimization in the case where
> it knows right away it has something to send as a response to something
> it's just read).

One should only be aware that this might have impacts on the read 
throughput which can be achieved.  That of course depends on buffers, 
message size, message rate and probably also CPU load generated by 
processing read data.

Kind regards

	robert

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Blocking IO thread-per-connection model: possible to avoid polling? Giovanni Azua <bravegag@hotmail.com> - 2011-09-27 00:09 +0200
  Re: Blocking IO thread-per-connection model: possible to avoid polling? Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-09-26 15:22 -0700
    Re: Blocking IO thread-per-connection model: possible to avoid polling? Robert Klemme <shortcutter@googlemail.com> - 2011-09-27 07:49 +0200
    Re: Blocking IO thread-per-connection model: possible to avoid polling? Giovanni Azua <bravegag@hotmail.com> - 2011-09-27 07:52 +0200
      Re: Blocking IO thread-per-connection model: possible to avoid polling? Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-09-27 09:29 -0700
        Re: Blocking IO thread-per-connection model: possible to avoid polling? Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-09-27 10:23 -0700
        Re: Blocking IO thread-per-connection model: possible to avoid polling? Giovanni Azua <bravegag@hotmail.com> - 2011-09-29 22:21 +0200

csiph-web