non-blocking(event driven I/O) vs. blocking I/O

Recently I stumbled across this pretty slick JS library called nodeJS that acts like a server side JS.

The main feature of the language being Evented I/O which gives the inherent capacity of I/O being completely non-blocking using callbacks!!!

My question is, if this kind of completely non-blocking I/O mechanism existed in the past (given event driven I/O has been around for a long time), why aren't they more popular in high level languages like C# and Java (although Java has NIO implementation that supports non-blocking I/O)?

Currently, a simple file read/write operation results in complete I/O blocking which is not the case with event driven I/O.

I'd like to gain a better understanding of event driven I/O and how it is different from what we have in Java.

6
задан 7 revs, 4 users 56% 17 December 2013 в 23:49
поделиться