学习ob的执行器的时候,在ObMPQuery::response_resul方法中看到了异步计划驱动和同步计划驱动,他们是根据以下变量的true 或 false来决定走同步还是异步:
#ifndef OB_BUILD_SPM
bool need_trans_cb = result.need_end_trans_callback() && (!force_sync_resp);
#else
bool need_trans_cb = result.need_end_trans_callback() &&
(!force_sync_resp) &&
(!ctx_.spm_ctx_.check_execute_status_);
#endif
问题1:以上判断的含义是什么?
问题2:同步计划执行和异步计划执行有什么区别?可以举个例子来说明一下吗?
望内核大佬解答。