读书人

想用多线程实现几个线程同时做一件事情

发布时间: 2013-09-06 10:17:17 作者: rapoo

想用多线程实现几个线程同时做一件事情,怎么实现呢
就是同时读取不同的文件调用同一个函数进行处理 是用for循环来建立若干个线程吗 还是有其他更好的方法呢 必须是用多线程来实现的 多线程
[解决办法]

引用:
就是同时读取不同的文件调用同一个函数进行处理 是用for循环来建立若干个线程吗 还是有其他更好的方法呢 必须是用多线程来实现的



.....
typedef unsigned ( _stdcall * pfThread )( void* );
PCTSTR pcFileName[ ] = { ..... }; //八个文件名
HANDLE hMyThread;
for( int i = 0; i < 8; ++i )
{
hMyThread = ( HANDLE )_beginthreadex( ...,
( pfThread )DealWithFile,
( void* )pcFileName[ i ],
...,
);
if( !hMyThread )
{
....... //error处理
}
CloseHandle( hMyThread );
}
.......
DWORD WINAPI DealWithFile( PVOID pvFileName )
{
HANDLE hMyFile = CreateFile( ( LPCTSTR )pvFileName,
...,


);
if( hMyFile == INVALID_HANDLE_VALUE )
{
...... //error处理
}
........ //文件处理
CloseHandle( hMyFile );
}

读书人网 >C++

热点推荐