torutkのブログ

ソフトウェア・エンジニアのブログ

Javaマルチスレッドプログラミングの学び方

Java読書会BOFでは、今「Java Concurrency In Practice」を読んでいます。普通マルチスレッドというと、Threadクラス、Runnableクラス、synchronized、それからwait、notifyといった仕組みの話が続いていると思っていました。
しかし、この本は、いかに同期をしないかという観点から入っています。同期が必要だとしても、条件によって可能であればsynchronizedではなくvolatileやAtomicXXといった極力軽い仕組みを使おうとしています。

言わば、スレッドをぎりぎりで見切って、必要最小限の動きでかわすのです。