孤食ロボット 1
- 作者: 岩岡ヒサエ
- 出版社/メーカー: 集英社
- 発売日: 2014/06/10
- メディア: コミック
- この商品を含むブログ (5件) を見る
ご飯作るときとかのロボットとの掛け合いが読んでて楽しい(羨ましい)。 今年一番おもしろい。
深夜特急1 香港・マカオ
- 作者: 沢木耕太郎
- 出版社/メーカー: 新潮社
- 発売日: 2012/07/01
- メディア: Kindle版
- 購入: 8人 クリック: 9回
- この商品を含むブログ (5件) を見る
ところが、屋台のオバサンはいらないという。初めは私が外国人だからサービスしてくれているのかと馬鹿なことを考えたが、そうではなかった。オバサンや客の必死の身ぶりでようやく理解したところによれば、ペンキ屋の彼がこういって立ち去ったらしいのだ。明日、荷役の仕事にありつけるから、この二人分はツケにしておいてくれ、頼む……。私は、失業している若者に昼食をおごってもらっていたのだ。自分が情けないほどみじめに思えてくる。情けないのはおごってもらったことではなく、一瞬でも彼を疑ってしまったことである。少なくとも、王侯の気分を持っているのは、何がしかのドルを持っている私ではなく、無一文のはずの彼だったことは確かだった。
UIKit徹底解説 iOSユーザーインターフェイスの開発
- 作者: 西方夏子,丸山弘詩
- 出版社/メーカー: インプレスジャパン
- 発売日: 2014/06/13
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
少女ファイト(11)
- 作者: 日本橋ヨヲコ,木内亨
- 出版社/メーカー: 講談社
- 発売日: 2014/06/23
- メディア: コミック
- この商品を含むブログ (5件) を見る
面白い
PERSONA 3 THE MOVIE #2
#1 よりだいぶ濃密で面白かった。次も楽しみ。
goroutine を複数起動してどれか一つがエラーになった時の終了する
{ broadCastChan := make(chan struct{}, 1) stopChan := make(chan struct{}, len(workers)) var wg sync.WaitGroup for _, worker := range workers { wg.Add(1) go func(worker *Worker) { defer wg.Done() err := worker.Work(broadCastChan) log.Println(err) stopChan <- struct{}{} }(worker) } <-stopChan close(broadCastChan) wg.Wait() }
stopChan に <- struct{}{} する際に block しないように worker 数を capacity に指定。 stopChan で一つでも受け取ったら broadCastChan を close して worker の中で
{ for { select { case <-broadCastChan: // exit return default: // do something } } }
みたいな感じで待っておいて各 worker を終了。
wg.Wait で全ての worker が終わるまで待つ。
こんな感じかなぁ。