問題タブ [concurrentmodification]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - プログラム内のすべてのメソッドが同期されているときに、ConcurrentModificationException が発生する可能性はありますか?
プログラム全体のすべてのメソッド(静的メソッドとメソッドを含む)を同期させたConcurrentModificationException
にもかかわらず、main
非表示のイテレータはありません。
- それはどのように可能ですか?
- どういう意味ですか?
- どうすれば修正できますか?
mysql - 多対多の同時実行の競合を処理するにはどうすればよいですか?
gmail のラベルに似たアプリケーション機能があり、アイテムに「タグ付け」できます。現在、これは並行アプリケーションです。つまり、いわゆる「ホワイトボード」は複数のユーザーが編集できます。つまり、多くのユーザーが項目を再グループ化することを選択できます。基本的に複数のアイテムを同時にタグ付けします。
間違いなく競合が発生しますが、問題はそれをどのように処理するのが最善かということです。心に浮かぶ唯一の戦略は、有名な ALOHA プロトコルに似ています。つまり、何かが変更されたかどうかをコミットする前にチェックします。変更されている場合は、中止してユーザーに通知します。そうでなければコミットします。これは非常に非効率的な IMO です。
以下に 2 つの類似したアイデアを示します。比較すると、一方は難しく、他方は簡単です。
最初は簡単です:)-変更を上書きします。つまり、重複は更新されるだけですが、新しいものもタグ付けされます。
難しいもの: どれが「削除」されるかを確認します。つまり、分類に属さないものがある可能性があります (ユーザー 2 によると言う. つまり、ユーザー 1 が変更を行い、ユーザー 2 も同時に変更を行った.基本的に、タグ付けされたアイテムのセット {user1 - user2} を見つけます)。これは非常に難しく、努力する価値はありません。
このような場合に、ユーザー エクスペリエンスを妨げず、混乱させないベスト プラクティス ソリューションは何かと考えていました。
(これは、MySQL バックエンドと Jquery/ajax フロントエンドを備えた J2EE/Restlet アプリです)
java - Javaリストと再帰により、同時変更例外が発生します
次の関数は、リストを再帰的にウォークスルーし、常に半分に分割して、サブリストで何かを実行します。リストサイズが2の場合、再帰は中断されます。リストを反復処理するときにリストを変更すると、同時変更例外が発生することがわかっています。しかし、私は反復を使用しません、そしてそれはまだ起こります:
java - Java-ConcurrentModificationException
次のコードは、呼び出されるたびにConcurrentModificationExceptionをスローします。2番目のコードは例外をスローしませんが、それは私が必要とする正しいロジックではありません。オブジェクトがのインスタンスである場合、メソッドがEditorFrame
何であるかであるカスタム廃棄戦略を呼び出す必要があります。close()
ただし、それが単なる基本フレームである場合は、それを呼び出したいと思いますdispose()
。
私はこのサイトを見て、いくつかの指示に従いましたが、私が見つけたものはどれもうまくいきませんでした。
例外をスローするコード:
このコードは機能しますが、私が望むものではありません。
助けてくれてありがとう!
java - Java でのスレッドの同期
同じオブジェクト、たとえば MyObject を変更する 2 つのスレッドがあり、オブジェクトを同期しました。しかし、スレッドの 1 つで別のオブジェクトが変更されているため、MyObject を呼び出す必要があります。
いえ
これにより、ConcurrentModificationExceptions が発生しています。これを解決する方法がわかりません。同期しないと、両方のスレッドが MyObject を呼び出そうとするため、例外が発生します。どうすればこれを修正できますか?
更新: コードは Android デバイス用です。ここでは Android 固有のオブジェクトが使用されていないため、これまで言及していませんでした。LogCat の出力はあまり役に立ちません
02-03 02:47:43.660: エラー/AndroidRuntime(5258): キャッチされていないハンドラー: キャッチされていない例外が原因で終了するスレッドのメイン 02-03 02:47:43.670: エラー/AndroidRuntime(5258): java.util.ConcurrentModificationException 02-03 02:47:43.670: エラー/AndroidRuntime(5258): java.util.AbstractList$SimpleListIterator.next(AbstractList.java:64) 02-03 02:47:43.670: エラー/AndroidRuntime(5258): com.jjg .myapp.gameunit.findEnemy(MoveableUnit.java:656)//<--- このメソッドでは、Gamestate のコレクションは 02-03 02:47:43.670: ERROR/AndroidRuntime(5258): at com.jjg.myapp. gameunit.update(GameUnit.java:416)
同期しようとしていたオブジェクトは、基本的に gs と呼ばれる GameState です。ArrayLists、配列、およびその他のオブジェクトの品揃えを収容します。gs は静的ではありません。
問題が発生する上記の方法は次のとおりです。
getAllUnits は、GameUnits の ArrayList を返します (メソッドを呼び出す GameUnit を含む - オブジェクトが削除または作成されないため、反復子は必要ありません)。
android - MapView での java.util.ConcurrentModificationException
フェラ
私は何日もの間、非常に奇妙な問題に直面しています。オーバーレイを頻繁に更新しようとしています。そのため、マップに触れたときに「java.util.ConcurrentModificationException」を取得したり、マップがオーバーレイを更新しようとしたときに取得したりすることがありますが、このエラーが発生している完璧な行が見つかりません。
バルーン オーバーレイを使用しています
"mapview.getOverlay()"
1秒間に4〜5回呼び出しているため、エラーが発生していると思います..
ありがとう、
CapDroid
これがコードフローです..私のスレッドコード....
これが私の updateMethod(); です。 このコードでは、 hashmapOverlay は以下のような HashMap です
ここに私の addOverlayMethod があります
java - 同時変更例外 java、ここでイテレータを使用できないと思いますか?
特定のアイテムを反復して削除する必要があるリストがあります。イテレータでは機能しないアイテム ( などls.getStatus()
) ごとにメソッドを呼び出す必要があるため、イテレータを使用できません。ls.getStatus() == 0
そのアイテムを削除する必要がある場合。どうすれば回避できConcurrentModificationException
ますか?
ありがとう