数据采集 多线程?该怎么解决

数据采集 多线程?
对于大量数据的采集,要实现数据采集、显示、绘制曲线;
A. 如果采用单线程的话,数据采集、显示、绘制曲线依次执行,即采集一个数据后便显示和绘图;
B. 如果采用多线程的话,微观上来讲,一个时刻只能有一个线程在运行,假设采用两个线程:(1)数据采集线程和(2)显示、绘图线程,在数据采集线程中sleep()后,执行显示、绘图线程,岂不是延长了整个程序的执行时间,因为多了sleep()这个时间,如何讲提高了效率呢。

是不是我的理解有错误呢?对于这种大量数据采集的系统,要实现上述功能,如果要提高效率,该如何利用多线程?
线程

------解决方案--------------------
我的话会这么做。
在工作线程中采集数据,然后放入安全堆栈,并通知(sendmessage or postmessage)界面线程更新.
界面线程消息回调中获取安全堆栈的数据并刷新。