我有這種情況:異步完成處理
void foo::bar()
{
RequestsManager->SendRequest(someRequest, this, &foo::someCallback);
}
其中RequestsManager工作在異步方式:
- sendRequest將放在一個隊列並返回給調用者
- 其他線程獲取請求來自隊列的請求並處理它們
- 當處理一個請求時,回調被稱爲
是否有可能在與SendRequest相同的線程中調用foo :: someCallback?如果沒有,我怎麼能避免「回調限制」:回調不應該做耗時的操作,以避免阻止請求管理器。