>>167
ネットワークアクセスもファイルアクセスもユーザーアクセス(インターフェース)も全て本質的に同期ではなく非同期ですよ
それを無理やりに同期で書こうとすると
例えば低レイヤーではブロッキングのシステムコールとなってしまい時間のかかる相手に対してブロックされ待つ間は何も出来なくなってしまう
もちろんマルチスレッドという別の概念&実現例を使って誤魔化すことはできますがそれでもそのスレッドがブロックされて何も出来なくなってリソースを無駄にするのは事実です
実際にこの問題はいわゆる有名な『C10K問題』として無数のスレッドがリソースを無駄に消費してサーバーが破綻する現実問題を引き起こしました

そこでも解決方法として取られたプログラミング方法は通信などで無駄にブロックされるスレッドを生じさせないこと
すなわちノンブロッキングなシステムコールにより非同期なプログラミングを行なうことでC10K問題も解決されて現在我々が使う多くの通信サーバーはこの非同期な実装方法です

このように相手がいるオブジェクト指向においてはオブジェクト間での非同期なメッセージングが基本
計算だけするならともかく多くのアプリ/ソフトでは人間UIやファイルI/Oやネット通信といった同期では非常に待たされる処理が重要ですから