【发布时间】:2017-09-29 19:10:41
【问题描述】:
我有点迷失在我正在分析的多线程应用程序中。我认为我试图理解的函数在主线程中起作用。确保我在其中放置了进入和退出临界区代码。同样的临界区也用于程序启动(进入临界区)和终止(离开临界区)。
如果我错了,请纠正我。如果我的函数在主线程中起作用,则应允许进入临界区。但事实并非如此 - 我的功能只是在进入关键部分时停止。根据我的理解,这个函数在另一个线程中起作用。
我的方法对于理解哪个函数在哪个线程中起作用是否正确?
【问题讨论】:
-
你说得对,但是日志记录更简单,信息量更大。
-
要检查您的代码是否在主线程中执行,请使用:
Windows.GetCurrentThreadId() = System.MainThreadID。见What is function in Delphi to get the current executing thread?。 -
1) 为什么将整个程序放在临界区中? 2) 为什么您不接受您之前问题的答案?
-
@devundef 我知道为什么我的一些问题不被接受。通常我按接受勾号,它会变成绿色,但在我的活动日志中,只有一些问题被标记为已接受。
标签: multithreading delphi