Start Debugging

タグ: concurrency

10 件

2 つのアプリインスタンスが同じメッセージを消費するときに EF Core 11 で冪等なメッセージ処理を保証する方法
ハンドラーの存在チェックは、あなたが思っているようなガードではありません。inbox テーブルに一意インデックスを張り、業務上の変更と同じ SaveChanges でマーカーを書き込み、勝者はデータベースに決めさせます。さらに、それを静かに台無しにする ExecuteUpdate の罠も扱います。
EF Core 11 で UPDLOCK と SELECT ... FOR UPDATE を使って悲観的ロックを取る方法
EF Core 11 にはいまだにロック用の API がありません。FromSql で実際の行ロックを取る方法を解説します。SQL Server では WITH (UPDLOCK, ROWLOCK)、PostgreSQL では FOR UPDATE、ロック範囲を静かに広げてしまうサブクエリの罠、NOWAIT と SKIP LOCKED、デッドロックのリトライ、そして行がまだ存在しない場合の対処法まで。
2026-08-29 dartflutterisolates
Dart の isolate とスレッドの違いは何ですか?
スレッドはプロセス内の他のすべてのスレッドとメモリを共有しますが、Dart の isolate は共有しません。isolate は自分のヒープを所有し、単一のイベントループを回し、他の isolate とはメッセージだけでやり取りします。VM レベルでそれが何を意味するのか、isolate group がどこで境界を曖昧にするのか、そして Flutter、FFI、web でどう現れるのかを解説します。
EF Core 11 で rowversion トークンを使って楽観的同時実行制御を実装する方法
EF Core 11 に rowversion の同時実行トークンを追加します。[Timestamp] と IsRowVersion による設定、EF が実際に発行する SQL、DbUpdateConcurrencyException の捕捉、データベース優先 vs クライアント優先 vs マージ、ETag を使った切断された API、そして保護を無言で無効化する 5 つの落とし穴。