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言語による並行処理

補遺A 

読者のみなさんは並行処理のコードを書くという旅に出ることに決めたので、あなたがプログラムを書いたり、それが正しいかどうかを解析したりするための道具、そしてあなたのプログラムの中で何が起きているかを理解する補助となる便利な参照先がいくつか必要になるでしょう。幸いなことに、GoのエコシステムにはGoチームとコミュニティ双方から潤沢にツールが提供されています!補遺ではそれらのツールの中からいくつかを取り上げて、それらが開発の前段階、最中、後段階でどのように助けになるかを紹介していきます。この本は並行処理に焦点を当てているので、ここでは並行処理のコードを解析するときの助けになる話題にのみ限定して話を進めます。また、ゴルーチンがパニックになったときに何が起きるかを簡単に見ていきます。パニックはそれほど頻繁には起きませんが、それでも初めて見るときには出力内容が少々読みづらいかもしれません。

A.1 ゴルーチンのエラーの解剖

よくあることです。遅かれ早かれ、あなたのプログラムはパニックを起こします。運が良ければ、そのとき人間もコンピューターも誰も傷つかないでしょう。そしてそのときは最悪でもスタックトレースの最後にある悪い結果を眺めるだけで済むでしょう。

Go 1.6以前では、ゴルーチンがパニックになると、ランタイムは現在実行中のゴルーチンのすべてのスタックトレースを表示していました。時としてこのことが、何が起きたか判定するのを難しく(あるいは少なくとも時間がかかるように)していました。本書の執筆時点、Go 1.6以降ではパニックしたゴルーチンのスタックトレースだけを表示するようになり、表示が非常に簡潔になりました。

たとえば、このサンプルプログラムを実行した場合、

package ...
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