我正在尝试实现更智能的线程池。为了容纳遗留代码,如果我可以在池状线程从等待状态(阻塞的IO,睡眠,同步,关键部分等)和运行状态切换时得到通知,那将是很好的。
我正在寻找Windows中的OS API,它为我提供了以下选项之一:
但是我无法更改阻止调用。应用程序充满了套接字读写,文件读写,WaitForSingleObject调用等。我无法通过调用管理代码来包围此代码。我也不想捕获API调用,因为它涉及大量的API,并且需要我解释参数并检测哪些调用是阻塞的,哪些不是。
我看了Windows Thread Pool API,但它似乎没有提供这样的功能。有一个名为BindIoCompletionCallback的API,但它没有提供所需的功能。
我可能缺少任何API吗?