首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

线程 sleep有关问题

2012-05-23 
线程 sleep问题我这个程序,我想用分段传输,但是我的程序个里面有个线程 case FD_READ,当我送那边发送过来

线程 sleep问题
我这个程序,我想用分段传输,但是我的程序个里面有个线程 case FD_READ,当我送那边发送过来的时候,直接跳到这个线程里了,不能继续执行我写的文件接受循环函数。


有木有什么办法把哪个线程挂起来,等我传输文件完了以后在继续执行这个线程

我的接受文件的循环函数是写在线程里的,代码如下:Onsockt()为接受文件的循环函数。
{
case FD_ACCEPT:
{
s = accept(HostSock,NULL,NULL);
AfxMessageBox("连接成功");
//n=n+1;
CString d="";
send(s,d.GetBuffer(0),d.GetLength(),0);
}
break;
   
case FD_READ:
{
CString num="";


if(i1 == 1)
{
Sleep(60000);
Onsockt();
}

else
{
recv(s,cs,10,NULL);
if(cs[0] == 's')
{
cont = atoi(cs+1);
num+="向您发送文件";
num+="\r\n";
AfxMessageBox(num);
if(MessageBox("是否接收文件") == IDOK)
{
i1 = 1;
}
else
{
send(s,"不同意接收文件",sizeof("不同意接收文件"),0);
return ;
}
}
}

}

[解决办法]
linux下面有互斥量 条件变量
windows下 互斥信号量 和临界去

热点排行