devxlogo

Nonblocking I/O

Nonblocking I/O

Question:
Say I have 10 sockets and I want to have a thread which checks for a message from the sockets using their InputStreams. The thread will wait in the first socket until it receives a messagein that socket. How can I skip to the next socket when there is no message in the current socket?

Answer:
There is no analog to select() in Java, nor is there true nonblockingI/O. The proper way to check if an InputStream has any data available for reading is to call its available() method and see if it returns apositive value. The proper way to check if a Reader has any data available for reading is to call its ready() method and see if itreturns true.

devx-admin

Share the Post: