【初心者】Java質問・相談スレッド55【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0701デフォルトの名無しさん
NGNGその質問には意味がある。一番簡単な答えは
・Vectorはスレッドセーフではない。
・だから複数スレッドで共有されるVectorに対するひとまとまりの操作はsyncronizedブロックで囲まなければならない。
・それならArrayListを使っても同じ。Vectorを使う意味は無い。
もっと詳しく知りたい場合はここがよくまとまってる。
http://www-6.ibm.com/jp/developerworks/java/040409/j_j-jtp09263.html
個人的に一番重要だと思うのはここの部分
>明確なドキュメントが無いと、読み手はクラスのスレッド・セーフに関して誤った推測をしてしまうかもしれないのです。
>つまり、読み手はスレッド・セーフではないのにスレッド・セーフであると推測するかもしれませんし(これはかなりまずいことです!)
■ このスレッドは過去ログ倉庫に格納されています