是安全线程还是从 IAsyncAction 接口同步属性"Status",以便知道线程是否已完成它?



我想知道是否从IAsyncAction类接口同步了属性"状态",因为我想使用它来检测另一个线程(主线程)是否该任务/线程已完成或继续运行

我可以

确认,是的,正在同步属性状态,我对如何处理这个问题有疑问,所以我决定使用 Visual Studio 的调试器并进行此属性的实验所以,首先我必须确认该值已分配给值为 2(已取消)的其他变量

但是使用反汇编功能,我遵循每个汇编程序指令,直到找到何时使用属性变量的"get"函数

所以我找到了当前状态以及如何传递给下一个变量的指令

图1

正如我们所看到的,寄存器 edx 包含值 2(已取消),但这由指令处理锁定 CMPXCHG ...

根据此链接:http://x86.renejeschke.de/html/file_module_x86_id_41.html

.. 允许以原子方式执行指令...换句话说,这允许执行数据交换,而不会有另一个线程干扰该执行

谢谢大家,希望这个帮助

最新更新