|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.lang.Throwable | +--java.lang.Exception | +--java.lang.RuntimeException | +--java.util.ConcurrentModificationException
この例外は、オブジェクトの同時変更を検出したメソッドによって、そのような変更が許可されていない場合にスローされます。
たとえば、あるスレッドが Collection で繰り返し処理を行なっている間に、別のスレッドがその Collection を変更することは通常許可されません。通常、そのような環境では、繰り返し処理の結果は保証されません。いくつかの反復子 (Iterator) の実装 (JRE が提供するすべてのコレクションの実装の、反復子の実装を含む) は、その動作が検出された場合にこの例外をスローすることを選択できます。この例外をスローする反復子は、「フェイルファスト」反復子と呼ばれます。反復子は、将来の予測できない時点において予測できない動作が発生する危険を回避するために、直ちにかつ手際よく例外をスローします。
この例外は、オブジェクトが different スレッドによって同時に更新されていないことを必ずしも示しているわけではありません。単一のスレッドが、オブジェクトの規約に違反する一連のメソッドを発行した場合、オブジェクトはこの例外をスローします。たとえば、フェイルファスト反復子を持つコレクションの繰り返し処理を行いながら、スレッドがコレクションを直接修正する場合、反復子はこの例外をスローします。
通常、非同期の同時変更がある場合、確かな保証を行うことは不可能なので、フェイルファストの動作を保証することはできません。フェイルファストオペレーションは最善努力原則に基づき、ConcurrentModificationException をスローします。したがって、正確を期すためにこの例外に依存するプログラムを書くことは誤りです。ConcurrentModificationException は、バグを検出するためにのみ使用すべきです。
Collection
,
Iterator
,
ListIterator
,
Vector
,
LinkedList
,
HashSet
,
Hashtable
,
TreeMap
,
AbstractList
,
直列化された形式コンストラクタの概要 | |
ConcurrentModificationException()
詳細メッセージを指定しないで ConcurrentModificationException を構築します。 |
|
ConcurrentModificationException(String message)
指定された詳細メッセージを持つ ConcurrentModificationException を構築します。 |
クラス java.lang.Throwable から継承したメソッド |
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
public ConcurrentModificationException()
public ConcurrentModificationException(String message)
message
- この例外に関連する詳細メッセージ
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.