lr_start_transaction/lr_end_transaction事物組合 總結一下: lr_start_transaction與lr_end_transaction 為使用最多的事物創造組合函數,lr_start_transaction為事物開始函數,lr_end_transaction為事物結束函數,並負責記錄事物的運行時間。 語法格式如下: int lr_start_transaction (const char * transaction_name); int lr_end_transaction (const char * transaction_name,int status); transacton為事物名稱,status為事物的結束狀態,共有LR_PASS(通過)、LR_FAIL(失敗)、LR_AUTO(自動)、 LR_STOP(暫停),其中LR_PASS默認的是LR_PASS,可以在事物結束前通過lr_set_transaction_status進行修 改。如果在lr_end_transaction中沒有指定結束事物狀態是LR_AUTO,而是明確制定為LR_PASS、LR_FAIL、 LR_STOP其中的其中,則事物將以最后制定狀態來結束。需要注意,事物開始沒有lr_end_transaction沒有結束的時候,不能用相同的事 物名稱,除非這個事物已經通過lr_end_transaction結束。 Action() { lr_start_transaction("test"); //事物內容/////////////////// lr_start_transaction("test"); //事物內容/////////////////// lr_end_transaction("test",LR_AUTO); lr_end_transaction("test",LR_AUTO); //事物內容/////////////////// return 0; }//沒有結束的事物一定會出現錯誤。 Action() { lr_start_transaction("test"); //事物內容/////////////////// lr_end_transaction("test",LR_AUTO); lr_start_transaction("test"); //事物內容/////////////////// lr_end_transaction("test",LR_AUTO); return 0; } 雖然以上代碼包含了兩個"test"事物,但在LR的Analysis分析中將會做為一個事物來進行統計,Analysis 主要是按照事物的名稱來進行系統分析,不考慮事物具體包含的操作。