Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Начинаю работать с потоками.


Автор: BBulat 19.8.2008, 19:08
Вообще, задача заключается в том, чтобы поместить ожидание слов от драйвера усб-девайса в поток, чтобы приложение не подвисало. Но так как, я только начинаю работать с  потками, то решил реализовать простейшее консольное приложение. Хотел узнать, действительно ли в моем коде создается поток и правильно ли я им пользуюсь?
Код

#include "stdafx.h"
#include "windows.h"
#include "process.h"
#include "stdio.h"
#include "math.h"

using namespace System;

HANDLE hEvent1;
double a[100000000],b[1000];
void Thread(void* pParams)
{
    for(int i=0;i<100000000;i++) a[i]=i/666; 
}

int main(array<System::String ^> ^args)
{
    hEvent1 = CreateEvent(NULL,FALSE,TRUE,NULL);
    _beginthread(Thread,0,NULL);

    for(int i=0;i<10;i++) 
    {
        b[i]=2*i;
        printf("b[i]=%d\n",b[i]);
    }

    
        printf("a[i]=%d\n",a[100000000]);
    
    return 0;
}


Автор: Lazin 19.8.2008, 20:14
Цитата(BBulat @  19.8.2008,  19:08 Найти цитируемый пост)
правильно ли я им пользуюсь?

не правильно, оба потока исполььзуют общие данные без синхронизации...

для управляемого кода нужно использовать Thread

Автор: BBulat 19.8.2008, 20:32
а у Вас примера нет? не совсем понял, что нужно делать.

Автор: voov 20.8.2008, 11:08
Когда сам разбирался с потоками, нашел пару классов (с описанием и инструкциями по применению). Одним из них сейчас пользуюсь.
http://www.firstobject.com/dn_thread.htm и http://www.codeproject.com/KB/threads/CThread2.aspx

Автор: Lazin 20.8.2008, 13:27
Цитата(BBulat @  19.8.2008,  20:32 Найти цитируемый пост)
а у Вас примера нет? не совсем понял, что нужно делать. 

я не совсем понял что за пример вам нужен, судя по ввсему вы пишите на managed C++, но в то-же время используете win32 api и crtl, а не классы фреймверка... примеров полно в МСДН

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)