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