using system; using system.drawing; using system.windows.forms; using system.threading; namespace windowsformsapplication1 { public partial class form1 : form { public form1() { initializecomponent(); } private void button1_click(object sender, eventargs e) { //前台线程和后台线程唯一区别就是:应用程序必须运行完所有的前台线程才可以退出; //而对于后台线程,应用程序则可以不考虑其是否已经运行完毕而直接退出, //所有的后台线程在应用程序退出时都会自动结束。 messagebox.show("点击按钮启动了一个前台线程。rn前台线程:“既然我上台了,我一定要表演完,不然我跟你没完!”"); //前台线程 thread t1 = new thread(say); t1.isbackground = false; t1.name = "前台线程"; t1.start(); } privatevoid button2_click(object sender, eventargs e) { messagebox.show("点击按钮启动了一个后台线程。rn后台线程:“既然我没上台,我受制于应用程序,它关了我就自动关了(舞台都关了,我在后台再干活就没意思了)!”"); //后台线程 thread t2 = new thread(say); t2.isbackground = true; t2.name = "后台线程"; t2.start(); } privatevoid say() { for (int i = 0; i < 100; i++) { messagebox.show("我演,我卖力的演!nr把主窗口关了,你看我还在不在?"+i.tostring()); } } } }
建议先启动一个后台线程按钮,感觉没啥吧?然后再启动一个前台线程。看看是否是前台线程很顽强的跟你没完!
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!