Новый рабочий поток WTL
От: zabriski  
Дата: 08.06.05 08:04
Оценка:
Как с помощью WTL создать новый рабочий поток для выполнения в нём некоторых ресурсоёмких вычислений?
Re: Новый рабочий поток WTL
От: SaloS http://salos.narod.ru/
Дата: 08.06.05 08:11
Оценка:
Здравствуйте, zabriski, Вы писали:

Z>Как с помощью WTL создать новый рабочий поток для выполнения в нём некоторых ресурсоёмких вычислений?


CreateThread()
или beginthreadex()
WTL Helper и WTL Wizards помощники для WTL, скачать отсюда http://salos.narod.ru
Re: Новый рабочий поток WTL
От: SnowMan  
Дата: 08.06.05 08:13
Оценка:
Здравствуйте, zabriski, Вы писали:

Z>Как с помощью WTL создать новый рабочий поток для выполнения в нём некоторых ресурсоёмких вычислений?


Может не так понял, но разве CreateThread уже отменили?..
Re: Новый рабочий поток WTL
От: MNZ Россия  
Дата: 08.06.05 08:29
Оценка:
Здравствуйте, zabriski, Вы писали:

Z>Как с помощью WTL создать новый рабочий поток для выполнения в нём некоторых ресурсоёмких вычислений?


Если хочется использовать всю мощь ATL , то я делал так:
// MyWorkerThread.h

class CMyWorkerThread :
    public IWorkerThreadClient
{
public:
    CMyWorkerThread();
    ~CMyWorkerThread();
    
    // IWorkerThreadClient
    HRESULT Execute(DWORD_PTR dwParam, HANDLE hObject);
    HRESULT CloseHandle(HANDLE hObject);

private:
    CWorkerThread<> m_thread;
};

// MyWorkerThread.cpp

CMyWorkerThread::CMyWorkerThread()
{
    m_thread.Initialize();
}

CMyWorkerThread::~CMyWorkerThread()
{
    m_thread.Shutdown();
}

HRESULT CMyWorkerThread::Execute(DWORD_PTR dwParam, HANDLE hObject)
{
    // TODO: Do something
    
    return S_OK;
}

HRESULT CMyWorkerThread::CloseHandle(HANDLE hObject)
{
    if (!::CloseHandle(hObject))
        return AtlHresultFromLastError();

    return S_OK;
}

// Использование

// Поехали
CMyWorkerThread thread;


Здесь интересней http://www.codeproject.com/atl/newinatl7.asp
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[2]: Новый рабочий поток WTL
От: glyph  
Дата: 08.06.05 08:55
Оценка:
Здравствуйте, SnowMan, Вы писали:

SM>Здравствуйте, zabriski, Вы писали:


Z>>Как с помощью WTL создать новый рабочий поток для выполнения в нём некоторых ресурсоёмких вычислений?


SM>Может не так понял, но разве CreateThread уже отменили?..

Рихтер говорит, что надо использовать beginthreadex.
... << RSDN@Home 1.1.4 beta 3 rev. 193>>
Re: Новый рабочий поток WTL
От: BuHHunyx Беларусь  
Дата: 08.06.05 09:47
Оценка:
Здравствуйте, zabriski, Вы писали:

Z>Как с помощью WTL создать новый рабочий поток для выполнения в нём некоторых ресурсоёмких вычислений?


здесь есть обертка
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.