Текущий архив: 2003.01.23;
Скачать: CL | DM;
Вниз
Проблемы с нитями. Найти похожие ветки
← →
Oxy © (2002-12-09 01:10) [0]Вобщем проблема такая. Запускаю несколько раз подряд нить таким образом
CreateThread(nil,0,@ThreadExecProc,@MyVar,0,thread_id);
MyVar каждый раз принимает разные значения. Но когда нити начинают работать, в их теле MyVar, который я передавал, все время один и тот же и равняется тому MyVar? который я передавал последним. Где грабли?
Да, процедура нити описывается так
Procedure ThreadExecProc(param:PDWORD);stdcall;
← →
Digitman © (2002-12-09 08:38) [1]MyVar := 1;
//параметр - адрес пер-й MyVar, по этому адресу в этот момент
//лежит "единица"
CreateThread(nil,0,@ThreadExecProc,@MyVar,0,thread_id);
MyVar := 2;
//параметр - адрес ТОЙ ЖЕ пер-й MyVar, по ЭТОМУ ЖЕ адресу в этот момент
//уже лежит "двойка"
CreateThread(nil,0,@ThreadExecProc,@MyVar,0,thread_id);
← →
Oxy © (2002-12-09 09:14) [2]Ага, понял. Спасибо.
Страницы: 1 вся ветка
Текущий архив: 2003.01.23;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.016 c