>>612
CPUの性能を活かせない
CPUと比べてネット通信はとても遅く待ち時間となるため空き時間をいかに活用できるかが勝負
つまり次々と切り替えて処理していくことになるが
スレッドは各リソースコストも切り替えコストもかかりプロセスはさらにそれらのコストが非常に大きい
そのためCPUの性能を活かすどころか切り替えコストで無駄にしてリソースコストで限界に達していた

そのため例えばJavaScriptはWebブラウザ内でもNode.jsなどでも同様にシングルスレッドの中で多数の通信やGUIなどを並行して非同期に捌けるようにした
Goでも多数の軽量のGoルーチンがシングルスレッドまたはマルチスレッド上で並行して動いて非同期に多数処理できるようにした
Rustの非同期タスク及びC++20のコルーチンも同じ位置付けで両者はほぼ同じ仕組みのライバル同士