
25.09.2009, 17:31
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами:
9410786
Репутация:
2731
|
|
Проблема с многопоточностью, C++
В общем интересуюсь этой проблемой уже давно. Пишу парсер аккаунтов одного форума. Пока тестовый, в 5 потоках надо отпарсить только 5 юзеов. Есть код
Код:
int uid = 1; //текущий айди юзера
void tfunc(void *argv)
{
//здесь я создаю WinSock
sprintf( request, "GET /forum/profile.php?mode=viewprofile&u=%s HTTP/1.1\r\nHost: tfile.ru\r\nConnection: Close\r\n\r\n", IntToStr(uid).c_str()); //пишу в запрос id юзера
//здесь завершаю работу WinSock
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for(i=0;i<=4;i++)
{
uid++;
_beginthread(tfunc, 0, NULL); //старт потока
}
}
Проблема в том, что запрос отправляется всегда с айди = 5, т.е. с последним значением uid. Почему?
|
|
|