我.Net做了一个屏幕录像,用线程去调用截屏函数( th1 = new Thread(new ThreadStart(fun.CaptureImg_curYes));)然后开启这个线程。.CaptureImg_curYes这个函数里用了一个while(true)
用于重复执行,还添加了Thread.Sleep(60)!
还在程序运行时添加了 Thread.CurrentThread.IsBackground = true;
现在问题就是当我单击停止按钮时有时候会出现程序假死(停止按钮就是 th1.About();用来停止线程),就是什么都动不了。只有在VS中点击停止来结束程序。
我在截屏的函数里添加了Try Catch 在假死的时候没有任何的异常抛出。
运行程序10次可能有6到7次单击停止的时候会造成假死。
求打大神帮忙分析……
按照你们的说法,我没用About来终止线程,用一个Boole形变量来终止循环。但程序还是偶然出现假死。没有什么特别……
感谢帮忙分析……
放心低级的错误不会犯;况且,如果线程没有启用,你用about会有异常的。
按照你们的说法,我没用About来终止线程,用一个Boole形变量来终止循环。但程序还是偶然出现假死。没有什么特别……
感谢帮忙分析……