我的程序当中有一个主线程,创建一个接收数据线程,一个处理数据线程。接收线程用的是windows sdk socket 通讯,接收客户端发送的数据。处理线程处理接收线程接收到的数据,每处理一个包所花的时间较长。而接收线程接收到的数据,数据量比较大,要求接收到得数据在一定的时间内不能丢失。当有数据接收的时候,就接收数据,没有数据时,就去处理数据。接收到的数据用内存池缓冲。处理线程从内存池中取数据。请问我这两个线程之间怎么控制,才能达到当有数据接收的时候,就接收数据,没有数据时,就去处理数据。