theevent0=CreateEvent(NULL,false,false,NULL);\\这是在主线程里面的信息量的创建
满足一定的条件时候调用SETEVENT
DWORD WINAPI Fun0Proc(LPVOID lpParameter ) //800*400 这是另外一个线程 waitforsingleobject一开始就能捕获到信息量 向下面执行 可是我并没有设置信息量啊 { int i=0;int flag=0;long byteswritten;
while(i<8)
{
WaitForSingleObject(theevent0,200);
if(flag==0)
{
byteswritten=fwrite(buffer0[0],4096,13500,yuv0);
printf("%d bytes have been
因为设置了200毫秒的等待时间,没有信号等待超时后当然向下执行了。如果一定要等到有信号才能执行下去,那就设为INFINITE。否则可以通过判断它的返回值;WAIT_OBJECT_0 为等待信号成功; WAIT_TIMEOUT:等待超时
一直等,直到有信号。在等待的时候,线程就是阻塞状态
================
后面的200表示超过时间,过了这个时间就不等了,如果想一直等下去将200改为INFINITE就行了。