Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Go1.25で追加されたWaitGroup.Goの紹介
Search
ともやん
August 29, 2025
Programming
0
62
Go1.25で追加されたWaitGroup.Goの紹介
株式会社アドシード主催「水道橋BeerBash」で登壇しました!
そのときに使用したスライドです!
ともやん
August 29, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
Verilator + Rust + gRPC と Efinix の RISC-V でAIアクセラレータをAIで作ってる話 RTLを語る会(18) 2025/11/08
ryuz88
0
320
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
250
ボトムアップの生成AI活用を推進する社内AIエージェント開発
aku11i
0
1.5k
Register is more than clipboard
satorunooshie
1
430
AIを駆使して新しい技術を効率的に理解する方法
nogu66
0
290
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
220
詳細の決定を遅らせつつ実装を早くする
shimabox
1
920
例外処理を理解して、設計段階からエラーを見つけやすく、起こりにくく #phpconfuk
kajitack
12
5.5k
AI駆動開発カンファレンスAutumn2025 _AI駆動開発にはAI駆動品質保証
autifyhq
0
130
ドメイン駆動設計のエッセンス
masuda220
PRO
15
7.6k
Tangible Code
chobishiba
3
500
Dive into Triton Internals
appleparan
0
470
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7.2k
Thoughts on Productivity
jonyablonski
73
4.9k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
RailsConf 2023
tenderlove
30
1.3k
Visualization
eitanlees
150
16k
What's in a price? How to price your products and services
michaelherold
246
12k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Fireside Chat
paigeccino
41
3.7k
Transcript
Go 1.25 で追加された WaitGroup.Go の紹介 2025.08.29 株式会社アドシード 平野智也
名前 平野智也(ひらの ともや) 所属 株式会社アドシード(2023 年11 月〜) バックエンドがメイン Go ・PHP ・Node.js
etc... 今年6 月からテックブログ運営に参画 趣味 ジム・サウナ・読書・映画鑑賞 etc...
目次 Go 1.25 Release goroutine とは Go 1.24 までのgoroutine Go
1.25 からのgoroutine WaitGroup.Go() 導入のメリット まとめ
Go 1.25 Release Go 1.25 Release 2025 年08 月12 日にリリース
Go は半年に1 回マイナーバージョンがリリースされる ライブラリ・ランタイム・ツールチェーンの追加、変更 今回の注目 testing/synctest パッケージの追加 encoding/json/v2 パッケージの追加 sync パッケージにWaitGroup.Go メソッド実装
今回はGo 1.25 で追加された sync パッケージの WaitGroup.Go メソッドを紹介! Go 1.25 Release
goroutine とは Go ランタイムで管理される軽量スレッド 並行処理を実現するための仕組み 並行:複数のタスクが同時進行しているように見せる 並列:複数のタスクを物理的に同時に実行する 「go 」というキーワードを関数の前につけることで起動 I/O
が絡むケースで効果を発揮する
Go 1.24 までのgoroutine
sync.WaitGroup 複数のgoroutine の終了を待つ ための仕組み Add メソッド Goroutine カウンタを増やす Done メソッド
Goroutine カウンタを減らす Wait メソッド カウンタが0 になるまで待つ Go 1.24 までのgoroutine
Go 1.24 までのgoroutine
Go 1.25 からのgoroutine
sync.WaitGroup 複数のgoroutine の終了を待つ ための仕組み Go メソッド 内部でAdd メソッドと Done
メソッドを呼ぶ Wait() カウンタが0 になるまで待つ Go 1.25 からのgoroutine
Go 1.25 からのgoroutine
WaitGroup.Go() 導入のメリット Go 1.24 まで Add() やDone() の記述漏れのリスク 思わぬ挙動となってしまう Go
1.25 から Go() では内部でAdd() やDone() を呼び出している 簡潔かつ安全に想定した挙動を得られる
まとめ goroutine とは Go ランタイムで管理される軽量スレッド 並行処理を実現するための仕組み Go 1.25 からのgoroutine WaitGroup.Go()
を使う 内部でAdd() とDone() を呼び出している 簡潔かつ安全に想定した挙動を得られる
出典 Go Packages https://pkg.go.dev/sync#WaitGroup.Go Go 1.25 Release Notes https://tip.golang.org/doc/go1.25#syncpkgsync Future
Tech Blog https://future-architect.github.io/articles/20250801a/ RitoLabo https://www.ritolab.com/posts/323
宣伝 アドシードでは一緒に働く仲間を募集してます! 新しい技術・プロジェクトに挑戦できる環境です 困った時にはすぐに相談できる、心強い仲間もいます まずはカジュアルにお話ししませんか? 詳しくはこちら!
宣伝 アドシードではテックブログをやってます! AdseedTechBlog という名前です 毎週金曜日に更新予定です ビアバッシュの様子も随時載せていく予定です 個人でZenn やってます! Go についての記事を書いています
最近ちょっと頑張って書いています
ご清聴ありがとうございました!