Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. COIMO it's aged well. Non-blocking IO is something that many engineers are afraid or oblivious to. The book demonstrates a solid design for NIO in C++ that stands strong today (Boost/ACE have proactor & reactor implementations). At the risk of sounding like a pattern monger, reactor & proactor-like IO handling is something every engineer should know appreciate (especially reactor).
      singulars
    2. CO@S73417H: further to this, NIO is born of select() which was born of a single thread per process. There is a school of thought nowadays that says now we have threads we don't need non-blocking/multiplexed I/O at all. And having attempted to implement a general-purpose NIO framework based on Reactor I would have to strongly disagree that it is something every engineer should know. NIO fights with Reactor so much that you don't really have a choice but to stick to NIO. The frameworks around NIO such as Mina don't act as counterexamples in my view.
      singulars
    3. CO@EJP... I have to respectfully disagree with your POV. Performance aside, general purpose NIO frameworks certainly allow for better separation of concern in networking code. In my experience, if you understand and use these frameworks well, a developer can create much more understandable, flexible and testable networking applications. Further, i can't see how NIO and reactor fight with one another. I found it quite simple to implement reactor with Java NIO. Also, under conditions where thousands of concurrent network connections can be active at any one time thread pooling with reactor excels.
      singulars
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload