私は何年もコーディングを続けてきましたが、しばらく前にこの質問を自問しました。私はこれが私の大学で解決されるのを見たことがありません。私はこれについて非常に興味があります。
では、コード、CPUについて実際に何が起こっているのでしょうか。私はコードについて非常に興味があります。
たとえば、デスクトッププログラムを実行していて、データベースにデータを挿入している場合、上記のシナリオではどうなりますか?
MyDBConnection cn = new MyDBConnection();
cn.start();
cn.beginTransaction();
cn.insertData("INSERT INTO T_TABLE VAVLUES(1,2,'WHITE LIES')");
cn.insertData("INSERT INTO T_TABLE VAVLUES(1,3,'BLACK LIES')");
-------------------------------------------------------------------
Enery power off, application hang for whatever reason.
-------------------------------------------------------------------
cn.insertData("INSERT INTO T_TABLE VAVLUES(1,4,'VOID LIES')");
cn.commit();
cn.close();
その後はどうなりますか?何もない?
データが破損します(私が知っている人によると)?ロールバックがありますか、RAMが解放されるかハングしますか?OSはプロセスを復元しようとしますか?
誰かがこれらの事故に耐えるためのいくつかの手順を知っていますか?