有一程序,实现如下:我一开始开了4个线程分别人,T1 T2 T3 T4T1: 负责从多播组中收数据(有数据不停地多播到此组中),并把数据存在BUFFER中。如果收取的数据值(BYTE数)大于某值,则设置一标志,FG为TRUE。T2: 如果T1中设置的FG为TRUE的话,就把BUFFER中的数据拷贝到别一BUFFER2中,(本该对BUFFER进行互斥操作的,然加上之后速度慢很多)那本程序就专门负责处理此BUFFER2中的数据。要是数据为格式M
则通过一CEVENT事件来激活线程T3,格式为N的话激活T4。T3: 负责把数据格式为M的波形画出来。(通过得到的数据用LINETO()函数绘制)T4:负责把数据格式为N的波形画出来。后来,我认为T3,T4可以合在一起因为过来的数据只是其中的一个,分两个线程处理可能快不到哪去。注:每次从多播组中获得的数据包并不大,在1000bytes。
然而,当程序运行后CPU为100/100。 
请问各位有没有什么更好的方法。