gpt4 book ai didi

winapi - 是否有 APC 的变体可以在不等待可警报等待的情况下中断目标线程?

转载 作者:行者123 更新时间:2023-12-04 06:35:46 25 4
gpt4 key购买 nike

是否有 APC 的变体或基于 NT 的 Windows 操作系统中的某些其他技术,可以强制特定线程立即调用特定用户函数(或至少中断用户代码),而无需等待线程进入警觉等待?

我意识到这会导致各种并发问题。我想使用它的主要目标是从另一个线程(并等待完成)强制处理器级内存屏障 - 实现此目的的其他方法会有所帮助,但我仍然很好奇这是否可能: )

最佳答案

你可以做到,但它并不漂亮。由于线程不期望这一点,因此您可以调用的内容将非常有限。例如,您将无法调用使用任何同步 API 的任何内容。

如果你还想这样做 - SuspendThread , GetThreadContext , SetThreadContext , 和 ResumeThread将允许您模拟函数调用。您必须保留所有寄存器,包括标志。

显然,这需要特定于平台的代码。另请注意,某些用户模式代码会触及堆栈指针上方的位置,因此您可能希望为推送的返回地址添加一些边距。

关于winapi - 是否有 APC 的变体可以在不等待可警报等待的情况下中断目标线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4898293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com