看 《The.Gurus.Guide.To.SQL.Server.Architecture.And.Internals》 中一些不明点的地方 希望大家解答 RRS feed

  • 问题

  • 原文 ch5 异步io的 第一个例子中 也就是 Exercise 5.2 A Utility That Converts a UNICODE Text File by Using Asynchronous I/O的第9点:

    The reason we do this is that an alertable wait on an object for which
    an asynchronous I/O operation is under way will not allow the specified
    APC function to run once the operation completes.

    大意是: alertable等待异步io操作的时候是后台运行的,一旦完成不允许指定的 APC(异步调用的回调函数)。


    If you initiate an alertable wait on a different object,
    however, Windows will interrupt it with an alert when the asynchronous
    operation completes and will cause the APC function to execute within
    the context of the thread that initiated the operation

    大意:如果在其他对象上开始了alertable 等待,当异步操作完成的时候,windows就会通知等待,并且导致apc函数运行。

    这2句话 好像有矛盾我百思不得其解。我用代码测试的时候,发现 不管我用 什么,只要 设置了 alertable 属性,那么都能执行apc 函数。

    • 已移动 怡红公子Moderator 2012年4月3日 5:21 Not sql related. (发件人:SQL Server)
    • 已移动 Helen Zhao 2012年4月4日 5:00 (发件人:Visual C++)
    2012年4月2日 14:16


  • Fanr-zh你好!

    我将要把这个移帖移到“一般性问题讨论区”。因为在Visual C++论坛,我们只讨论有关C++语言和编译器的问题。


    Helen Zhao [MSFT]
    MSDN Community Support | Feedback to us

    2012年4月4日 4:59