Управление многопоточностью
Создаю новый поток
Код:
DWORD CALLBACK cff(LPVOID);
CreateThread(NULL,NULL, cff,0 ,0 ,&tid1);
Возможно ли передать данные потоку не через глобальные переменные и не через файл, а непосредственно при создании?
|
Для этого и существует параметр LPVOID
Код:
struct my_data_t {...}
unsigned long __stdcall cff(my_data_t* my_data)
{
// обрабатываем
delete my_data;
}
my_data_t *my_data = new my_data_t();
// заполняем my_data->...
CreateThread(0, 4096, LPTHREAD_START_ROUTINE(cff), &my_data, 0, &thr_id);
Если используешь библиотеку C/C++, лучше запускать поток функцией __beginthread, иначе возможны утечки памяти
|
Время: 00:59.
© OSzone.net 2001-