Goのnet/httpのServerのデザインの良さ net/httpのコードリーディングをしていてepollとscheduler、goroutineがうまく協調してデザインしてあり上手く回っているものだな・・・と思ったので紹介します。 といっても下記の記事で解説されているので、ここではもうちょっと全体の流れをソースコードを詳しく見てみて追っていきます。 参考 最初に全体像の説明 上記画像の感じですね。 epollとかGoRoutineとかが絡んできます。 上記画像はコネクション処理編での動作なのでListen,Acceptはそれまでの溜めみたいなものとなっています。 Listen編 -> Accept編 -> コネクション処理編と続きます。 epoll is 何 下記の解説が詳しいです。ざくっと言うと非同期IOを実現させるためのものです。(厳密な非同期IOの定義とは違うかもしれませんが容