Goのスケジューラー実装とハマりポイント golang.tokyo #4 1 March 2017 Koki Ide Koki Ide @niconegoto (Twitter, Github) メルカリ/ソウゾウ GoでAPI書いてます 2 去年のアドベントカレンダー 3 今日はなすこと Groutineの実装デザイン スケジューラーの罠 4 Groutineの実装デザイン 5 スレッドにはどのような種類があるのか N:1 複数のユーザー空間スレッドが1つのOSスレッドで実行 1:1 1つの実行スレッドが1つのOSスレッドと一致 M:N 任意の数のOSスレッドに任意の数のゴルーチンをスケジューリング GoはM:Nを採用 6 それぞれの特徴 N:1 :+1: コンテキストスイッチが非常に迅速である :-1: マルチコアシステムを利用することができない 1:1 :+1: マシン上のすべてのコ