個人的には、マルチスレッド対応とか並行処理対応とか銘打ってる言語の機能は使いものにならないと思っている。 Javaは、登場当時、マルチスレッド対応を謳っていた。が、登場時の目玉機能であったモニタは、オブジェクトとロックが関連付けられてしまうのと、モニタしかロックする方法が無いという二点で設計に失敗した結果、今はまともにマルチスレッドするなら、java.util.concurrentというライブラリを使いましょう、ということになっており、もはや言語レベルでのマルチスレッド対応は、「volatileがC/C++よりまとも」という点ぐらいになってしまった。 マルチスレッド対応とか、並列対応とかに騙されてはいけない。あれらは全て使いものにならない。以下にそう思う理由を書く。 (以下はCPU性能の為のマルチスレッドの話で、イベントとかIO処理のためのマルチスレッドについては考えてない) メモリ問題に
![いわゆるマルチスレッド対応した言語が使いものにならないと思う理由 : 2010-12-07 - J](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)