gpt4 book ai didi

multithreading - 如果主线程拥有一个临界区,如果它也在主线程上,尝试获取临界区的函数是否会阻塞?

转载 作者:行者123 更新时间:2023-12-03 18:28:09 25 4
gpt4 key购买 nike

我对正在分析的多线程应用程序有点迷茫。我认为我试图理解的函数在主线程中起作用。确保我在其中放置了进入和退出临界区代码。同样的临界区也用于程序启动(进入临界区)和终止(离开临界区)。

如我错了请纠正我。如果我的函数在主线程中起作用,则应允许进入临界区。但事实并非如此 - 我的功能只是在进入关键部分时停止。根据我的理解,这个函数在另一个线程中起作用。

我的方法对于理解哪个函数在哪个线程中起作用是否正确?

最佳答案

只需使用调试器。在应用程序的启动代码或应用程序的任何消息处理程序中设置断点,并在调试器线程窗口中检查当前线程 ID。然后在相关函数中设置断点,并在执行到达该函数时检查线程 ID。如果它们不匹配,则不会在运行 UI 消息的同一线程上调用该函数。

当您在调试器中停止您的函数时,您可以查看调用堆栈窗口以查看导致您的函数调用的调用序列。这可以让您深入了解您是如何到达那里的,以及您是如何在不同的线程上到达那里的。

关于multithreading - 如果主线程拥有一个临界区,如果它也在主线程上,尝试获取临界区的函数是否会阻塞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12163538/

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