Skip to Content
Go言語による並行処理
book

Go言語による並行処理

by Katherine Cox-Buday, 山口 能迪
October 2018
Beginner to intermediate
256 pages
3h 35m
Japanese
O'Reilly Japan, Inc.
Content preview from Go言語による並行処理

訳者まえがき

Goは、C++、Java、Pythonといった言語でGoogleを支える巨大なシステムを開発する際に抱えていた問題を解決するために開発されたプログラミング言語†1で、2007年にそのアイデアが提案され、2009年にオープンソースとして世間に公開されました†2。2007年といえばすでに時代はマルチコアCPUの時代。またいまや当たり前となったクラウドコンピューティングサービスが広く提供され始めたのもこの時期からでした。こうしたクラウドコンピューティングサービス上で構成されるシステムアーキテクチャでは、個々のシステムが多くの通信によって連携を取るような構成も多く見られ、1台のインスタンスでいかに多くの接続を受け取り処理するかが鍵となっていました。

そうした背景において、Goの言語仕様の中にゴルーチンやチャネルという、並行処理を支える機能が組み込まれたことは必然と言えるでしょう。CPUの性能を余すことなく利用するために必須とも言える並列・並行処理の扱いがこれほどまでに容易であることは、Goの大きな利点であると言えます。しかしながら、並行処理の扱いが容易な一方で、Go特有とも言える並行処理の表現方法により、最適解と呼べるパターン集がなかなかまとまった形で得られていませんでした。

訳者が原著である "Concurrency in Go" を初めて手にとって読んだとき、ようやくGoの並行処理をまとまった形で提供する書籍が出たと感じました。単純にゴルーチンやチャネルを使った並行処理のパターンを紹介するだけでなく、その背景にある理論やランタイムの動作原理まで網羅しているので、これから並行処理を学んでいく人にとっても良い導入になっていると思います。したがって、本書はすでにGoに熟練したソフトウェアエンジニアだけでなく、Goの入門書の次の一冊を探している方、また他言語での並行処理の経験はあるがGoでの並行処理に慣れていない方、と幅広い方々に楽しんでいただける内容となっています。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

プログラミングC# 第8版

プログラミングC# 第8版

Ian Griffiths, 木下 哲也, 鈴木 幸敏
Javaパフォーマンス

Javaパフォーマンス

Scott Oaks, Acroquest Technology株式会社, 寺田 佳央, 牧野 聡
PythonによるWebスクレイピング 第2版

PythonによるWebスクレイピング 第2版

Ryan Mitchell, 黒川 利明, 嶋田 健志
UXデザインの法則 ―最高のプロダクトとサービスを支える心理学

UXデザインの法則 ―最高のプロダクトとサービスを支える心理学

Jon Yablonski, 相島 雅樹, 磯谷 拓也, 反中 望, 松村 草也

Publisher Resources

ISBN: 9784873118468Other