作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对正在分析的多线程应用程序有点迷茫。我认为我试图理解的函数在主线程中起作用。确保我在其中放置了进入和退出临界区代码。同样的临界区也用于程序启动(进入临界区)和终止(离开临界区)。
如我错了请纠正我。如果我的函数在主线程中起作用,则应允许进入临界区。但事实并非如此 - 我的功能只是在进入关键部分时停止。根据我的理解,这个函数在另一个线程中起作用。
我的方法对于理解哪个函数在哪个线程中起作用是否正确?
最佳答案
只需使用调试器。在应用程序的启动代码或应用程序的任何消息处理程序中设置断点,并在调试器线程窗口中检查当前线程 ID。然后在相关函数中设置断点,并在执行到达该函数时检查线程 ID。如果它们不匹配,则不会在运行 UI 消息的同一线程上调用该函数。
当您在调试器中停止您的函数时,您可以查看调用堆栈窗口以查看导致您的函数调用的调用序列。这可以让您深入了解您是如何到达那里的,以及您是如何在不同的线程上到达那里的。
关于multithreading - 如果主线程拥有一个临界区,如果它也在主线程上,尝试获取临界区的函数是否会阻塞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12163538/
有人可以向我澄清主线 DHT 规范中的声明吗? Upon inserting the first node into its routing table and when starting up th
我正在尝试使用 USB 小工具驱动程序使嵌入式设备作为 MTP 设备工作。 我知道 Android 从大容量存储设备切换到 MTP 设备已经有一段时间了,并且找到了 source code for M
我是一名优秀的程序员,十分优秀!