我们有一个客户端-服务器 C# 应用程序,当我们使用一些脚本在 UI 中创建 1000 种或更多类型的对象时,它会冻结,而不是单独在 UI 中创建它。
我们为某些事件使用了很多事件处理程序,但据我了解,所有线程(UI 和后台)和事件处理程序都在正确管理。然后我们的客户端应用程序也会冻结。我们不知道它背后的确切原因是什么。高峰时间挂起应用程序占用了大约 16 个线程。任务管理器报告它占用了超过 90% 的 CPU 时间。
谁能告诉我背后的原因
[STAThread]
static void Main()
{
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.DoEvents();
Application.Run(new Test());
}
更新
我如何将延迟加载应用到 Treeview、Listview 和 propertygrid。除了这些方法之外,我还使用了 beginupdate、endupdate、双缓冲?
更新
高 CPU 使用率是什么意思,我的应用程序 exe 挂在 13 个线程上,在某些地方我听说如果使用ThreadPriority.Lowest
它会降低 CPU 使用率,它还能工作吗?我不知道在哪里正确使用它?