基本的に、次の 2 つのステートメントがあります。
Project project = projectDao.createProject(...);
projectDao.deleteInProgressEntry(...);
inProgress エントリが削除される前に (次の行が実行される前に)プロジェクトの作成が完了したことを確認したい。ステートメントは互いに完全に独立しているため、コンパイラがコード内の順序を尊重しないのではないかと心配しています。
volatile についていくつか読んだことがありますが、最初の行の先頭に volatile を追加しようとしたので、volatile Project project
. しかし、それはコンパイルされません。マルチスレッドやアトミック操作などで迷子になることなく、探しているものを見つけるのに苦労しました.