簡単な質問です。次のコードはスレッドセーフですか...?
- はいの場合、何か良い方法はありますか..?
- いいえの場合、なぜですか。どうすればスレッドセーフにできますか。
私の主な疑問は、スレッドセーフではないArrayList
ためHashtable
です。ArrayList
の一部の場合も同じことが起こりHashtable
ます。
Hashtable<Thread, List<String>> threadObjects = new Hashtable<Thread, List<String>>();
// lets assume some object is added.
synchronized (threadObjects)
{
thread = Thread.currentThread();
List<String> v = threadObjects.get(thread);
if (null != v)
{
// do something
}
}
ありがとう