多线程 列队处理 事件问题
我的情况是这样的:
我开辟一个线程 读取一个文件内容,然后保存到全局变量vector里,
我开辟了多个线程,同时读取多个文件,
怎样使多个线程,按照先后顺序,等上一个线程结束,然后再开启下一个线程?
unsigned Counter;
vector<int> Tvector;
unsigned __stdcall SecondThreadFunc( void* pArguments )
{
//每个线程往容器里添加1000000个数据
.......
// 怎样判断上一个程序有没有结束,结束后再执行下一个线程函数????????问题二
..........
while ( Counter < 1000000 )
Tvector.push_back(Counter);
_endthreadex( 0 );
return 0;
}
int main()
{
for(int k=0;k<10;k++)
{
//同时 创建10个线程,但不知道怎样先将后面的线程挂起,不执行??????问题一
HANDLE hThread;
unsigned threadID;
printf( "Creating second thread...\n" );
hThread = (HANDLE)_beginthreadex( NULL, 0, &SecondThreadFunc, NULL, 0, &threadID );
// WaitForSingleObject( hThread, INFINITE );
CloseHandle( hThread );
}
}