日期:2014-05-16  浏览次数:20789 次

关于C#线程终止的问题

通过控件来建立的,用于跑脚本,现在想在中途(就是这个线程还没跑完)的时候通过控件把这个线程终止,但是每次终止的时候都抛异常,抛异常说是这个线程函数的数据交流格式不对。

我现在就是想在我点击关闭线程控件的时候立即关闭相关线程
------解决方案--------------------
Thread的Abort方法会触发一个异常(具体什么没看过)
我每次都调用Abort方法 终止线程
如果你不想看到异常 而又必须强行终止的话 试试这个类
public class MyThread :IDisposable
        {
            Thread ths = null;

            public bool IsWork { get; set; }

            public MyThread()
            {
                IsWork = true;
                ths = new Thread((obj) =>
                {
                    while (IsWork)
                    {
                        Console.WriteLine(Guid.NewGuid().ToString());
                        Thread.Sleep(1000);
                    }
                });
                ths.IsBackground = true;
                ths.Start();
            }

            public void Dispose()
            {
                
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                MyThread ths = new MyThread();
                Thread.Sleep(10000);
                ths.IsWork = false;
                Console.ReadLine();
            }
        }

额 你问的是这个吗。。。。。。。。。。。。