2017-04-01から1ヶ月間の記事一覧

Software Transactional Memory の雰囲気メモ

wikipedia の ( Software Transactional Memoryのページ ) を眺めたまとめのメモと、toy 実装をしてみた話。 github.com stm の rust 実装 見ながら書いてたんだけど、そのまま rust で書くのもあれなのでなんとなく go で書いてみた。 ちなみに int にしか…

バリア同期の実装

Java Concurrency in Practice の 5.5.4 Barrier の話 amzn.to バリア同期とは バリア同期とは、各スレッドの実行の進行具合を合わせるために使用する同期機構のこと。 複数スレッドにまたがった依存関係のある計算(処理)の完了を待って、処理を実行する際に…

Lock Striping についてとその実装

Java Concurrency in Practice の 5.2.1. ConcurrentHashMap にて Lock Striping というロックの方法が出てくる。 Lock Striping の説明と実装、および簡単にパフォーマンスを測ったのでそのメモ。 Java Concurrency in Practice作者: Brian Goetz,Tim Peier…

リポジトリごとに user.name と user.email を変更する

git

会社で Github Enterprise を使っているので、github.com の方の user.name と user.email でコミットしてしまわないようにリポジトリごとに設定を変更できるようにした。 gitconfig にあった user.name と user.email をけして、useConfigOnly を true にし…

Ruby の Monitor

Ruby には Monitor というクラスがあるんだけど、よく見るわりに Mutex との違いをよくわかっていなかった。 たまたま Java Concurrency in Practice を読んでいたら 2.3.2 Reentrancy で同じような概念の話が出てきて、少しわかった気がするのでそのメモ。 …