Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!news.musoftware.de!wum.musoftware.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Giovanni Azua Newsgroups: comp.lang.java.programmer Subject: Re: Blocking IO thread-per-connection model: possible to avoid polling? Date: Tue, 27 Sep 2011 07:52:30 +0200 Lines: 30 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Trace: individual.net CeE/ETcHcehWmuBD7rtclA/jRmr8x0uPzvhhcMydMARBpa9iJn Cancel-Lock: sha1:1EY4u0dJar2ZJWPt+jN1cEUt2nk= User-Agent: Microsoft-Entourage/12.31.0.110725 Thread-Topic: Blocking IO thread-per-connection model: possible to avoid polling? Thread-Index: Acx82aS1KiHHfdT3VE+85xXCMhNo3g== Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:8356 Hello Pete, Please note I am using classic Socket and Blocking IO and not NIO. On 9/27/11 12:22 AM, in article wrote: > > 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. > Any time I want? Even if it means to write to the OutputStream from a different thread than the one receiving data? It is not clear from the documentation I can do this safely on a Socket. I think is not possible unless I get the underlying SocketChannel or? > 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). > I would not like to have my "Worker Threads" IO bound in any way, I would not prefer to have them responsible for sending data. The other idea is two have two-threads-per-connection model, one for receiving and one for sending ... but this is not the model I was trying to implement in my OP. TIA, Best regards, Giovanni