线程JOIN用法

来源:互联网 发布:mac 实用软件 编辑:程序博客网 时间:2024/06/04 19:44
        /// <summary>        /// 等待时间         /// </summary>        static int waittime = 1000;        /// <summary>        /// 主线程 等待到 新的线程 结束后,再往下执行 主线程         /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void Form1_Load(object sender, EventArgs e)        {            show("主线程开始");            Thread newThread = new Thread(new ThreadStart(Work));            newThread.Start();    //主线程最多等待2秒钟,如果子线程在2秒钟内执行完就显示“新的线程结束”,否则显示“JOIN操作超时”            if (newThread.Join(2 * waittime))              {                show("新的线程结束");            }            else            {                show("Join操作超时");            }            show("主线程结束");        }        /// <summary>        /// 向主界面richTextBox1显示信息         /// </summary>        /// <param name="message"></param>        private void show(string message)        {            richTextBox1.Invoke(new EventHandler(delegate            {                this.richTextBox1.Text += message + Environment.NewLine;                richTextBox1.Select(richTextBox1.Text.Length, 0);                richTextBox1.ScrollToCaret();            }));        }        /// <summary>        /// 新的线程执行的方法         /// </summary>        private void Work()        {            show("新的线程被执行");            Thread.Sleep(2 * waittime);        }

原创粉丝点击