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

多线程写文件

2012-03-01 
多线程写文件,在线等HANDLEEventUINTaa(LPVOIDpParam){inti0CStringFileName I:\\1.txt CFileff.O

多线程写文件,在线等
HANDLE   Event;
UINT   aa(LPVOID   pParam)
{
int   i=0;
CString   FileName= "I:\\1.txt ";
CFile   f;
f.Open(FileName,CFile::modeCreate|CFile::modeWrite|CFile::typeBinary|CFile::shareDenyNone);
while(i++ <100){
WaitForSingleObject(Event,INFINITE);
ResetEvent(Event);
f.Seek(f.GetLength(),CFile::begin);
f.Write( "a ",1);
SetEvent(Event);
}
f.Close();
return   0;
}

UINT   bb(LPVOID   pParam)
{
int   j=0;
CString   FileName= "I:\\1.txt ";
CFile   f;
f.Open(FileName,CFile::modeCreate|CFile::modeWrite|CFile::typeBinary|CFile::shareDenyNone);
while(j++ <100){
WaitForSingleObject(Event,INFINITE);
ResetEvent(Event);
f.Seek(f.GetLength(),CFile::begin);
f.Write( "b ",1);
SetEvent(Event);
}
f.Close();
return   0;
}
Event=CreateEvent(NULL,TRUE,FALSE,NULL);
SetEvent(Event);
AfxBeginThread(aa,this);
AfxBeginThread(bb,this);
运行完后结果是:
aaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaa

我想要的是;
ababababababababa……

[解决办法]
HANDLE Eventaa;
HANDLE Eventbb;
UINT aa(LPVOID pParam)
{
int i=0;
CString FileName= "I:\\1.txt ";
CFile f;
f.Open(FileName,CFile::modeCreate|CFile::modeWrite|CFile::typeBinary|CFile::shareDenyNone);
while(i++ <100){
WaitForSingleObject(Event,INFINITE);
ResetEvent(Eventaa);
f.Seek(f.GetLength(),CFile::begin);
f.Write( "a ",1);
SetEvent(Eventbb);
}
f.Close();
return 0;
}

UINT bb(LPVOID pParam)
{
int j=0;
CString FileName= "I:\\1.txt ";
CFile f;
f.Open(FileName,CFile::modeCreate|CFile::modeWrite|CFile::typeBinary|CFile::shareDenyNone);
while(j++ <100){
WaitForSingleObject(Event,INFINITE);
ResetEvent(Eventbb);
f.Seek(f.GetLength(),CFile::begin);
f.Write( "b ",1);
SetEvent(Eventaa);
}
f.Close();
return 0;
}
Event=CreateEvent(NULL,TRUE,FALSE,NULL);
SetEvent(Event);
AfxBeginThread(aa,this);
AfxBeginThread(bb,this);

热点排行