C# 使用线程你可能不知道的问题
2010-09-30 22:41:48 来源:WEB开发网上面的字段文字是从其他地方贴过来的。但是让我明白了一件事,.net 的线程其实仍然是Windows 线程。说道这里我心里不尽不寒而栗,Windows 线程最可怕的名词。难道真的没有解决办法了,难道这个这个线程真的无法关掉。
4.查看任务管理器
打开任务管理器,上面显示很多没有关闭的线程,而且都是关于这个扫雷程序的,天啊。如果这样岂不是会吃掉所有的内存。于是乎,看看下面的代码
1 public void ExitProcess ()
2 {
3
4 Process[] proc = Process.GetProcesses();
5 for (int j = 0; j < proc.Length; j++)
6 {
7 if (proc[j].ProcessName == "MineSweeping")
8 {
9 proc[j].Kill();
10 }
11 }
12
13 }
Process 这个类就是我的救星啦,他可以获得系统中的进程。只要在我关闭程序的时候每次都对这个进程进行查杀。遇到你 我就kill
当我再次运行这个程序的时候,哈哈这个问题终于解决了。
5.另外一个效果
对比两者 的效果,这事WinForm 窗体退出程序的时候的效果,逐渐退出。
1 public void ExitApplication()
2 {
3 if (this.panelButton.Controls!=null)
4 {
5 this.panelButton.Controls.Clear();
6 }
7
8 for(int i=0;i<1000;i++)
9 {
10 if(this.Opacity<0.1)
11 {
12 this.ExitProcess();
13 Application.Exit();
14 }
15 this.Opacity=this.Opacity-0.004;
16 Thread.Sleep(20);
17 }
18 this.main.Dispose();
19 }
其实这个效果就是控制窗体的透明度,渐变效果。这也是线程哦。
更多精彩
赞助商链接