スポンサーリンク

Javaのマルチスレッド・プログラミングのリンク集 (デザインパターンの解説集つき)

Javaでマルチスレッド処理をコーディングするための設計・実装スキルを,

入門者が独学で学習するためのリンク集。

非同期処理・並列プログラミングともいう。



「Javaでマルチスレッド」を題材にした書籍は,じつは相当少ない。

スレッドを学ぶJava初心者には,かわりにこれらのWebページを読んでもらう。


入門に適した良ページ

全体的にまとまっているサイト:

マルチスレッドプログラミング | TECHSCORE(テックスコア)
http://www.techscore.com/tech/Java/Ja...

  • 詳しい全般的な解説。Runnableから,java.util.concurrentパッケージの使い方まで。

基礎:スレッドそのものについて:

スレッド - Java入門 - IT専科
http://www.itsenka.com/contents/devel...

  • スレッドのライフサイクル,CPUの処理スケジュールイメージ


11.Thread
http://www.ics.kagoshima-u.ac.jp/edu/...

  • プロセスとスレッドで,メモリ領域の共有方法が異なる点
  • スレッドの競合・ロック・同期

マルチスレッドと同期

なぜスレッドセーフを考慮する必要があるのか

本番リリース後にトラブル発生!魔のJavaマルチスレッド問題とは!? | 株式会社シンメトリック公式ブログ - 携帯開発から生まれる技術情報
http://symple.jp/20.html

  • 発見も難しく、さらに再現性が難しいクセ者。それがマルチスレッド問題


実装例

マルチスレッドの同期
http://ash.jp/java/sync.htm

  • notifyを使う


マルチスレッド - Java 入門
http://java.keicode.com/lang/multithr...

  • ExecutorService の基本的な仕組み


java.util.concurrentパッケージを用いたマルチスレッドプログラミングについて
http://www.02.246.ne.jp/~torutk/javah...

  • Java SE 6時点で、マルチスレッドプログラミングを行う素材として、当初から持つThreadクラスと、Java 5で追加されたjava.util.concurrentパッケージ

デザインパターン

デザインパターン(マルチスレッド) - 自分用メモとか
http://www.tom.sfc.keio.ac.jp/~fjedi/wiki/index.php?%A5%C7%A5%B6%A5%A4%A5%F3%A5%D1%A5%BF%A1%BC%A5%F3(%A5%DE%A5%EB%A5%C1%A5%B9%A5%EC%A5%C3%A5%C9)


デザインパターン入門 マルチスレッド編まとめ - リトルプログラマーの日記
http://d.hatena.ne.jp/otuzak/20080527...


スレッドプログラミング比較(Hishidama's Programming language "thread")
http://www.ne.jp/asahi/hishidama/home...

番外編

iOS上でのプログラミング(Objective-C)

ConcurrencyProgrammingGuide.pdf (application/pdf オブジェクト)
https://developer.apple.com/jp/devcen...

  • Apple公式の「並列プログラミングガイド」(日本語,PDF)


Concurrency Programming Guide: Introduction
https://developer.apple.com/library/i...

  • 上記のWeb版(英語)