0

というテーブルがあるとしましょうitems。Web アプリケーションのユーザーはテーブルの行を削除できitemsますが、テーブルを空にしたくありません。

したがって、現在、アプリケーションに次のようなコードがあります。

if (itemsCount() <= 1) {
  don't delete;
}
else {
  delete;
}

しかし、このコードは並行性の問題に対して脆弱であることを認識しています。たとえば、現在のサイズitemsが 2 で、このコードをほぼ同時に実行する 2 つのスレッドがある場合、テーブルが空になる可能性があります。

この問題は、Web アプリケーションを作成する人にとってはよくあることだと思います。人々はすでにそれを解決しているはずです。これに対して利用可能なソリューションは何ですか?

4

1 に答える 1