如何停止处于等待用户请求状态的线程

时间:2018-11-01 09:26:46

标签: c# multithreading

Memory Usage after 3-4 functions

Threads after 2 forms open and closed and 2 different processes started one of them is closed

最近,我创建了一个不会被用户停止的wpf应用程序。  我用spy ++查看有多少线程。 问题是它创建了很多线程(无论是否最小化应用程序,平均所有时间都是15-17个线程)我已经看到多达23个,而当最小化应用程序时,那些线程并未停止,它们只是处于等待状态(原因-用户请求) ,因此请不要释放内存。 我已经尝试了很多事情,例如手动处理,关闭表单和应用程序。我尚未创建这些线程,所以我不知道该如何杀死这些线程。

我现在正在做的是,当用户最小化应用程序时,我正在手动调用其他窗口形式的close方法。因此清除了一点内存。 我担心的是,它仅在后台不执行任何操作时,其最小为92MB。如果执行某些功能,则达到180 MB。

请任何人都可以向我提出建议。如何停止这些线程并释放内存。请告诉我是否需要与任何内容相关的代码。我会发布。并且请在否决表决之前与我澄清一下,是否我没有做任何事情。

当人们最小化其内存使用量有时会减少5倍时,我已经读过了...但是这里不一样。.内存使用量几乎相同。(仅释放了10-30MB)

更新:添加了spy ++的屏幕截图。我关闭了所有表单,此后仅运行了一个其他进程。然后它也停留在21个线程。

0 个答案:

没有答案