delegate void SetTextBoxTextCallBack(string strReceiveData); //跨线程操作TextBox控件委托
       
        /// <summary>
        /// 更新文本框的值
        /// </summary>
        /// <param name="strReceiveData"></param>
        private void UpdatetbSendAndReceiveLogText(string strReceiveData)
        {
            if (this.tbSendAndReceiveLog.InvokeRequired)
            {
                SetTextBoxTextCallBack m_SetTextBoxTextCallBack = new SetTextBoxTextCallBack(UpdatetbSendAndReceiveLogText);
                this.BeginInvoke(m_SetTextBoxTextCallBack, new object[] { strReceiveData });
            }
            else
            {
                if (strReceiveData != "\r\n")
                    this.tbSendAndReceiveLog.Text += DateTime.Now.ToString("MM月dd日 HH时mm分ss秒fff   ", DateTimeFormatInfo.InvariantInfo) + strReceiveData;
                else
                    this.tbSendAndReceiveLog.Text += strReceiveData;
                this.tbSendAndReceiveLog.SelectionStart = this.tbSendAndReceiveLog.Text.Length;
                this.tbSendAndReceiveLog.SelectionLength = 0;
                this.tbSendAndReceiveLog.ScrollToCaret();
            }
        }我在程序中线程池中放了一个死循环,循环执行一些任务,中间会频繁更改一个textbox的值  使用上面的委托,发现CPU占用会到百分之50  然后直接就卡住了 ,求助