zoukankan      html  css  js  c++  java
  • net 提供了Thread类用于线程的操作

    net 提供了Thread类用于线程的操作。

    当初始化一个线程,把Thread.IsBackground=true的时候,指示该线程为后台线程。后台线程将会随着主线程的推出而退出。后台线程不妨碍程序的终止,只要所有前台线程都终止后,CLR就会对每一个活在的后台线程调用Abort()来彻底终止应用程序。

    【注意】当在主线程中创建了一个线程,那么该线程的IsBackground默认是设置为FALSE的。也就是说,当主线程退出的时候,IsBackground=FALSE的线程还会继续执行下去,直到线程执行结束。只有IsBackground=TRUE的线程才会顺着主线程的推出而退出。

    static void Main(string[] args)
    {        
         Thread[] trd=new Thread[2];
                for (int i = 0; i < 2; i++)
                {
                    trd[i]=new Thread(new ThreadStart(ThreadA));
                    //trd.Start();
                    //trd[i].IsBackground = true;
                }
                Console.WriteLine(" !! 2 mmmm!!");
                trd[0].IsBackground = true;

                trd[0].Start();
                trd[1].Start();
                //trd[1].Join();
                //trd[0].Join();
         return;
    }

    public static void ThreadA()
            {
                int i = 0;
                Console.WriteLine("id: "+Thread.CurrentThread.ManagedThreadId);
                for (; i < 10000; i++)
                {
                    Console.Write("A");
                    if (i > 200)
                    {
                        Console.WriteLine(i);
                        return;
                    }
                }
                Console.WriteLine(i);
                
            }

    执行上面的例子可以知道,当主线程显示退出的时候,只要那些IsBackground=TRUE的线程随着主线程一起退出了,而那些IsBackground=FALSE还是需要等到自己执行完成完了之后才会退出


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hukeda0509/archive/2010/05/13/5586437.aspx

  • 相关阅读:
    webbrowser获取页面文章指定段落内容
    webbrowser防止弹窗(IE)
    webbrowser模拟手动输入
    WPF加载Winform窗体时 报错:子控件不能为顶级窗体
    FAQs: 我们可以在那里来为我的没有提升管理权限的应用程序存储用户数据?
    Winform中修改WebBrowser控件User-Agent的方法(已经测试成功)
    必应代码搜索 Bing Code Search 安装
    Microsoft Visual Studio Professional 2012 专业版 下载
    vs2012 aspx 没有设计视图了?
    vs2010 Express 下载连接
  • 原文地址:https://www.cnblogs.com/gates/p/3549038.html
Copyright © 2011-2022 走看看