0
我使用GTK#,当主窗口关闭时我需要中止一个线程。线程被附加到主要的内部小部件。我试图使用删除和销毁事件。我失败了。GTK删除事件
public class MyClass {
GLWidget widget= new AnyWidget();
public GLWidget widget{
get { return widget; }
}
private float red = 0.0f;
public MyClass()
{
Thread producer = new Thread (new ThreadStart (ThreadRun));
producer.Start();
widget.DeleteEvent += delegate { // I don't know what event I should use
producer.Abort();
};
}
public void ThreadRun()
{
while (true) {
//TODO
}
}
}
问题是,当我按下关闭按钮时,我的GTK#应用程序未关闭。
你可以发布一个简单的二行程序,再现问题? – sarnold 2012-01-01 01:54:25
而不是'中止'你的线程你应该设置'producer.IsBackground = true;'这样当应用程序准备关闭它时不会挂起你的进程 – 2012-01-01 02:42:01