我的线程大概如下:static UINT AskCycThread(LPVOID pParam)
{
unsigned char i;
int Result;
while(TRUE)
{
for(i=0;i<8;i++)
{
if(RunSystem[i]==0xFF)
{
CCOMM com;
Result=com.Run(i,1,&CurrentSystem);
}
}
return 1;
}
{
unsigned char i;
int Result;
while(TRUE)
{
for(i=0;i<8;i++)
{
if(RunSystem[i]==0xFF)
{
CCOMM com;
Result=com.Run(i,1,&CurrentSystem);
}
}
return 1;
}
{
unsigned char i;
int Result;
while(TRUE)
{
for(i=0;i<8;i++)
{
if(RunSystem[i]==0xFF)
{
CCOMM com;
Result=com.Run(i,1,&CurrentSystem);
}
}
return 1;
}
{
unsigned char i;
int Result;
while(TRUE)
{
for(i=0;i<8;i++)
{
///////////////////////////////////////////////////////////////
if(RunSystem[i]==0xFF)
{ CCOMM com;
Result=com.Run(i,1,&CurrentSystem);
}
////////////////////////////////////////////////////////////////
}
return 1;
}我想这么做:线程在执行到
/////////////////////////////////
//////////////////////////////////
之间的的时候将不能够被挂起,直到跳出这段程序
请问我该如何做?(请具体一点)
你的程序也许不止一个线程要占用串口资源,可以如下处理:
Thread A:
if(检查串口被占用==TRUE)
return 0;
...
占用串口;
释放串口;
return 0;
Thread B:
if(检查串口被占用==TRUE)
return 0;
...
占用串口;
释放串口;
return 0;
线程受到消息后释放资源然后挂起自己