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

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

2013-09-06 
想用多线程实现几个线程同时做一件事情,怎么实现呢就是同时读取不同的文件调用同一个函数进行处理 是用for

想用多线程实现几个线程同时做一件事情,怎么实现呢
就是同时读取不同的文件调用同一个函数进行处理 是用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 );
}

热点排行