C#线程挂起函数编写

来源:互联网 发布:json文件修改器 编辑:程序博客网 时间:2024/06/06 10:38

       面向对象编程C#中经常应用到线程机制,有时候线程需要挂起,我们通常会使用Sleep函数。但是单纯用Sleep函数,会让整个程序无法做其它事情。为了解决这一问题,可以使用Application.DoEvents()函数。

       Application.DoEvents()可以处理所有的当前在消息队列中的Windows消息。如果我们在编写一个串口接收功能时,需要线程挂起以等待数据的接收时,使用Sleep函数会使得窗体上的数据显示出现假死现象,而使用了Application.DoEvents()后,结束数据线程在等待的同时,已收到的数据也可以及时的更新到界面上。



                 
        /// <summary>        /// 线程挂起(int delay)        /// </summary>        /// <param name="delay">秒</param>        public void Delay(int delay)        {            try            {                while (delay > 0)                {                    Thread.Sleep(1000);//线程挂起                    Application.DoEvents();                    delay -= 1;                }            }            catch (Exception)            {            }        }
0 0
原创粉丝点击