【发布时间】:2017-10-21 11:21:51
【问题描述】:
我发现我的 Delphi 应用程序有不止一个线程 - 确切地说是 7 个。当然,我不是在创建自己的线程,我只是在使用“经典”VCL 控件。程序空闲。它只显示主窗体。没有对话处于活动状态,没有个人/印地/等线程正在运行。
- 不应该只有一个线程(VCL 主线程)吗?
- 我如何知道其中哪些(已经运行的线程)是主线程?
注1:这与Program freezes but the CPU utilization is zero有关
注 2:我刚刚意识到其中 2 或 3 个线程来自调试器(当我暂停程序并调用“CPU 视图”窗口时会出现额外的线程)。
【问题讨论】:
-
出于调试目的,您可以命名线程。
-
@nil - 我知道命名线程。但是,这对我的具体情况有何帮助?不能。
-
那么第 2 点就是这么问的。将其命名为“主要”。有 MainThreadID 和 CurrentThread 来帮助识别。在你的程序启动期间,我猜 CurrentThread 应该是主要的。
-
去掉不影响Q主题的部分代码/使用的组件和单元,最后给我们一个MCVE。否则我们所有的 cmets 和答案都只是猜测。
-
VCL“提示”代码也创建了一个线程。
标签: multithreading delphi delphi-xe7