Home

Sessions

Timetable

Floor Guide

Staff

English

よくわかるThe Go Memory Model - 行間を図解で埋め尽くす

Room A : A3-L

[アウトライン] - 並行処理の難しさと逐次一貫モデルの破綻 - 観測可能性とhappens-before関係 - Go1.19メモリーモデルとsync/atomicパッケージ [セッション紹介文] The Go Memory Modelというドキュメントを知っていますか?これはGo言語で並行処理を行ったときにどのようなことが保証され、または保証されないかを記述したものです。広い意味ではGo言語仕様書の一部ともいえる、基本的で重要なドキュメントです。 しかし、The Go Memory Modelはごく短いドキュメントであるにも関わらず、Go言語仕様書よりも読解が難しいドキュメントです。それはメモリーモデルという分野のもつ複雑な文脈によります。この分野は複数のプログラム言語に跨って発展してきました。必要な知識のある場所もGoのドキュメントに閉じていません。 このような文脈がThe Go Memory Modelの中では説明しきれないため、行間が広くてハイコンテキストな、「わかる人が読めばわかる」ドキュメントになっているのです。 一方で、The Go Memory Modelの内容はグラフによる図示に非常に適しています。そのため、The Go Memory Modelを読解するには、具体的なプログラムを考え、たくさんの図を描きながら広い行間を埋めていくことが有効です。 このセッションでは、そのたくさんの図をお見せしながら、The Go Memory Modelが何を言っているのかを具体的なプログラムに即して解説します。Go1.19でThe Go Memory Modelに追加されたsync/atomicの仕様記述についてもスッキリ理解できるようになるでしょう。

Level: advanced /
Long Talk(40min)
Nobishii

Nobishii

未入力

Software engineer who wants to study programming, software engineering, computer science, math/physics.

ツイート
gopher conductorgopher drummergopher trumpetergopher pom pomgopher flower blue