はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ goroutine

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 10 / 10件)
 

Go の sql.DB がコネクションプールを管理する仕組み - Please Sleep

2020/10/18 このエントリーをはてなブックマークに追加 136 users Instapaper Pocket Tweet Facebook Share Evernote Clip コネクションプール SQL スレッドセーフ DATABASE

Go の database/sql パッケージ の DB 構造体 は、データベースへのコネクションプールを管理し、かつスレッドセーフ (goroutine セーフと言ったほうが良いのだろうか…?) にそれらの接続を使用できることを保証している。 ドキュメント にも次のように書かれている。 DB is a database handle representing a pool of ze... 続きを読む

golangとDockerとOOM — KaoriYa

2020/01/18 このエントリーをはてなブックマークに追加 141 users Instapaper Pocket Tweet Facebook Share Evernote Clip OOM KaoriYa Docker golang ダンプ

golangで書いたプログラムをDockerで動かしOOMが発生した際になるべく情報を残して殺される方法を紹介します。 TL;DR golang製のプログラムは仮想メモリ(VSZ)の確保に失敗するとgoroutineのダンプを吐いて死ぬ DockerのOOMはRSSベースで検出時にSIGKILLを投げてくる Docker利用時にVSZで制限をかけるスクリプトを書いた ... 続きを読む

goroutineはなぜ軽量なのか - Carpe Diem

2018/10/23 このエントリーをはてなブックマークに追加 256 users Instapaper Pocket Tweet Facebook Share Evernote Clip Darwin golang Carpe Diem スレッド

概要 以前の記事で christina04.hatenablog.com golangはスレッドよりはるかに軽量なgoroutineでC10K問題を解決する、という話をしましたが、goroutineが軽量なのはなぜか?という理由を深掘りしたことがなかったのでしてみました。 環境 golang 1.11.1 Darwin 17.7.0 軽量と呼ばれる理由は2つ 大きく分けると以下の2... 続きを読む

Big Sky :: Go 言語の非同期パターン

2018/05/31 このエントリーをはてなブックマークに追加 268 users Instapaper Pocket Tweet Facebook Share Evernote Clip Big Sky 言語 golang channel 一見

Go は goroutine という非同期の仕組みを提供していますが、使い方次第では色々なパターンが実装できる為、初めて goroutine を見た人はどの様な物が正解なのか分からない事があります。以前、このブログでも紹介した事がありますが Go の非同期の仕組みは一見単純な様に見えて実はとても奥深いのです。 Big Sky :: golang の channel を使ったテクニックあれこれ go... 続きを読む

go tool traceでgoroutineの実行状況を可視化する - ( ꒪⌓꒪) ゆるよろ日記

2017/12/11 このエントリーをはてなブックマークに追加 107 users Instapaper Pocket Tweet Facebook Share Evernote Clip プロファイリングツール Runtime go tool

2017 - 12 - 11 go tool traceでgoroutineの実行状況を可視化する こんにちわ。しいたけです。今日はgoroutineの実行状況をいいかんじに可視化するツールの話です。 goのプロファイリングツールと言えば、 runtime/pprof や net/http/pprof ですよね。これらの使い方はググればすぐに出てくるのですが、 詳細なtraceを取得して可視化でき... 続きを読む

Goroutineハンターが過労死する前に - Qiita

2017/12/03 このエントリーをはてなブックマークに追加 167 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita OOM Killer 過労 日夜戦い エンジニア達

Goroutineハンター、それは逃げ出したgoroutine達を捕まえるため、日夜戦い続けるエンジニア達のことである。Goroutineハンターは本番環境でOOM Killerが発動するたびに呼び出され、逃げ出したすべてのgoroutineを捕まえるまで家にかえることが出来ない。しかし、あなたが書いた何気ないコードによって、今日もまた新しいgorutine達が野に放たれるのであった。 Gorou... 続きを読む

Big Sky :: Re: Go言語感想文

2017/06/02 このエントリーをはてなブックマークに追加 157 users Instapaper Pocket Tweet Facebook Share Evernote Clip Big Sky CHAN tagomoris entry うち

幾らか言いたい事があったので。 Go言語感想文 - なるせにっき 序 最近、敵情視察を兼ねた仕事ととしてGoでアプリケーションを書いていた。このアプリケーションがどんなものかはそのうち id:tagomoris さんがどこかで話すと思うけれど、この コンポーネント ... http://naruse.hateblo.jp/entry/2017/06/02/203441 GoroutineとChan... 続きを読む

意外と知らないgoroutineのスケジューラーの挙動 #golang - Qiita

2016/12/10 このエントリーをはてなブックマークに追加 137 users Instapaper Pocket Tweet Facebook Share Evernote Clip スケジューリング スケジューラー Qiita golang

はじめに goroutineはGo言語の大きな特徴である並行処理を支える重要な機能です。 しかし、goroutineの仕組みについてしっかり理解しないままコードを書いてしまうと思わぬ挙動をしてしまうことがあるので注意が必要です。 今回はそんなgoroutineのスケジューリングの挙動についてまとめてみました。 僕自身がgoの書き始めの頃に引っかかった部分なので、初心者のgoroutineへの理解の... 続きを読む

Big Sky :: golang の channel を使ったテクニックあれこれ

2016/07/06 このエントリーをはてなブックマークに追加 326 users Instapaper Pocket Tweet Facebook Share Evernote Clip golang channel キューイング メッセージング

golang の channel は他の言語に見ない独特のパラダイムを開発者に提供します。 単純にスレッド間でメッセージングをするだけでもC言語で書けばそこそこの量になったり、慣れていない人であればどう実装すればいいか分からないなんて事もあったと思います。しかし golang の goroutine/channel は、やっている内容の割にとても容易にスレッド間通信やキューイング、処理の受け待ち等... 続きを読む

Big Sky :: Golang の channel の使い所

2013/11/12 このエントリーをはてなブックマークに追加 104 users Instapaper Pocket Tweet Facebook Share Evernote Clip channel fmt task golang import

golang の特徴と言えば goroutine と channel ですが、その使いどころに悩む人もおられる様です。 goroutine は非同期に実行される処理、channel はその groutine と通信する為の仕組みと考えると分かりやすいです。 package main import ( "fmt" "time" ) func main() { task := make(chan st... 続きを読む

 
(1 - 10 / 10件)