关于串口读上来的数据怎么与form窗体交互

关于串口读上来的数据如何与form窗体交互
串口(我用的opc方式感觉和串口通讯类似,大家串口可能用的多就用串口作为标题了)读上来的数据要用form窗体实时显示,
我想到两种方式 一种是Invoke(这种方式不太熟悉) 跨线程把数据传递过去,但是网上说容易线程堵塞
                         一种是我测试的把数据写到数据库或是文本,然后form窗体在读取过来
我感觉第二种方式不用跨线程,实时读数据是不是好些?但是数据库几秒读一次是不是不太好,换成文本会好吗?
感觉还是存到内存中然后让form窗体读会快些,遇到这样的问题大家都是如何处理的呢?
求大侠指点下,非常感谢!
                           
------解决思路----------------------
在接受数据事件中  直接接受现实就行了。
------解决思路----------------------
关键字 Timer !
------解决思路----------------------
关键字  还有双缓冲
------解决思路----------------------

 foreach (ItemValueResult item in values)
            {
                if(this.InvokeRequired)
                  {
                       this.BeginInvoke(new MethodInvoker(delegate(){
                           textBox1.Text =System.Convert.ToString(item.Value);
                           textBox1.Text = "333";}));
                   }
               
           }