Kürzlich stolperte ich über diese ziemlich glatte JS-Bibliothek mit dem Namen nodeJS, die sich wie eine serverseitige JS verhält.non-blocking (ereignisgesteuerte E/A) vs. blockierende E/A
Das Hauptmerkmal der Sprache ist die Evented-E/A, die die inhärente Fähigkeit von E/A bietet, durch Rückrufe vollständig blockierungsfrei zu sein !!!
Meine Frage ist, wenn diese Art von vollständig blockierungsfreien I/O-Mechanismus in der Vergangenheit (gegeben ereignisgesteuerte I/O gibt es schon seit langer Zeit), warum sind sie nicht beliebter in High-Level Sprachen wie C# und Java (obwohl Java über eine NIO-Implementierung verfügt, die nicht blockierende E/A unterstützt)?
Gegenwärtig führt eine einfache Lese-/Schreiboperation zu einer vollständigen E/A-Blockierung, was bei ereignisgesteuerten E/A nicht der Fall ist.
Ich möchte ein besseres Verständnis für ereignisgesteuerte I/O und wie es ist anders als das, was wir in Java haben.
Ich bin neugierig, warum Sie denken, dass Java/C# nicht async IO hat? –
Sie meinen mit Java NIO-Paket ??. Ich habe es nie benutzt, aber ich weiß, es ist sehr leistungsfähig. Ich werde die Frage ändern, um dieses Problem anzugehen. –