Upgrade to Pro — share decks privately, control downloads, hide ads and more …

まとめ:Java並行処理プログラミング 第1章 はじめに

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for RunnableMan RunnableMan
July 23, 2017
380

まとめ:Java並行処理プログラミング 第1章 はじめに

Java並行処理プログラミング「第1章 はじめに」の内容をまとめたスライドです。

Java並行処理プログラミング ―その「基盤」と「最新API」を究める
http://amzn.asia/fFTkx5Z

Avatar for RunnableMan

RunnableMan

July 23, 2017
Tweet

Transcript

  1. ①安全性の危機 • 同期化が不適切だと、複数のスレッドの実⾏順が 予測不可能な運任せになる。 ②⽣存の危機 • デッドロック、飢餓状態、ライブロックによって プログラムがハングして前に進めなくなる。 ③実⾏性能の危機 •

    スレッドの数が多いと、スケジューリングに 消費される時間が⻑くなる。 • 同期化によってコンパイラの最適化が ⾏われなくなる。 1-3 スレッドの3つのリスク
  2. ①安全性の危機 getNext がスレッドセーフではないため、 実⾏タイミングによって複数のスレッドが 同じ結果を受け取る public class UnsafeSequence { private

    int nextValue; public int getNext() { return nextValue++; } } これは並⾏処理のよくある危機状態で、 競り合い状態(race condition)と呼ばれる。 1-3 スレッドの3つのリスク