我在同步模式下使用WinHTTP,沒有通過WINHTTP_FLAG_ASYNC
標誌,我認爲回調總是被同步調用。這確實是大部分時間發生的事情,但有時候是,當調用WinHttpCloseHandle
時,不會立即調用WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING
通知調用回調。相反,它是從另一個線程之後被調用的。異步回調呼叫同步WinHTTP請求
那預期的行爲?爲什麼它會在某些情況下變成異步,如果這些信息是同步的?我知道如何解決它(如果我沒有馬上得知它,等待WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING
通知),但我不明白爲什麼這就是我所看到的行爲。