Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Работа С Потоками (http://forum.oszone.net/showthread.php?t=177159)

LilLoco 02-06-2010 11:13 1425779

Работа С Потоками
 
Здравствуйте...Меня интересует вот такой вопрос: Есть 2 потока... Первый запускается после клика на кнопочке, а второй должен запуститься сразу после ЗАВЕРШЕНИя первого! WaitFor - не устраивает так как он полностью блокирует форму(во время работы потока может понадобится работа с формой)! объясните пожалуйста как сделать, если можно с примерчиком :)

lxa85 02-06-2010 12:27 1425822

LilLoco, тебе как срочно?
У нас лаба была по мультипотокам, но она в архиве. До него надо бы добраться, но когда у меня будет "окно" я не знаю. Попробую в ближайшее время (условно неделя).

LilLoco 02-06-2010 13:09 1425844

lxa85, Подожду конечно, заранее спасибо ;)

ganselo 02-06-2010 13:22 1425852

А если создать 3 поток в котором будет находится WaitFor и после его завершения в этом же потоке вызовется нужный?

BlackEric 02-06-2010 18:55 1426091

LilLoco,
1. из потока при завершении запускайте следующий
2. Из основного потока по таймеру проверяем не завершился ли поток и стартуем стлудеющий

LilLoco 02-06-2010 20:07 1426136

Всем Спасибо За Советы, буду завтра пробовать :)

zonderz 02-06-2010 20:19 1426144

LilLoco,

неужель не догадались сами? логика:
самый простой пример

var b: boolean;

procedure Form.OnCreate;
begin
Timer.Interval:= 100;
Timer1.enabled:= true;
b:= false;
end;

procedure ButtonClick;
begin
Thread1.Create;
end;


procedure Timer.OnTimer;
begin
if b = True then
begin
Thread2.Create;
Timer1.enabled:= false;
end;
end;


procedure Thread1;
begin
...
...
...
...
b:= true;
end;

procedure Thread2;
begin
...
...
b:= false
end;



надеючь у вас Delphi World скачан..?

LilLoco 02-06-2010 22:12 1426225

Спасибо за пример ;)

Цитата:

Цитата zonderz
надеючь у вас Delphi World скачан..? »

Скачан, но как то подзабыл посмотреть в нем :sorry:


Время: 00:22.

Время: 00:22.
© OSzone.net 2001-