boost :: asio :: io_service - 为什么要使用post函数?

eve*_*ve 9 c++ boost

我希望有人告诉我使用post函数的优点(和缺点).为什么以及何时应该更喜欢使用帖子以及为什么/什么时候我不想使用它?

jan*_*anm 10

当您希望回调基本上现在发生时,Post非常有用,但不是在当前上下文中.原因可能包括:

  • 当前上下文持有锁,您希望在释放函数后调用它.这将允许函数自己获取这些锁而不会导致死锁.

  • 调用堆栈可能非常深

  • 当前线程可能以某种其他方式不适合该函数,post是在另一个线程中调度函数的便捷方式.