Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как приостановить поток?


Страницы:   1 2 3 4 5 6 7

volser ©   (2005-08-23 12:23:00) 

вот часть кода

В ПОТОКЕ:
 while not Terminated do
 begin
   if not Paused then
   begin
     try
       ExecTick := False;
       ...
     finally
       ExecTick := True;
     end;
   end;
   Sleep(10);
 end;

В ГЛАВНОМ ПОТОКЕ:
 Thread.Paused := True;
 while not Thread.ExecTick do
 begin
   Windows.Beep(500,50);
 end;
 ...
 Thread.Paused := False;

Иногда цикл залипает. В чем проблема?


Alexander Panov   (2005-08-25 18:44:00) [21]

Fay ©   (25.08.05 18:40) [119]
Думаю, не увижу.


Думаю, что да. Не вижу смысла в том.
Все дело только лишь в желании сделать, а не в методах.


Fay   (2005-08-25 18:40:00) [22]

2 Alexander Panov ©   (25.08.05 18:31) [114]
Пока я не видел примера без вызова метода экземпляра. Думаю, не увижу.


Игорь Шевченко   (2005-08-25 18:39:00) [23]

Alexander Panov ©   (25.08.05 18:33) [116]

Судя по длине ветки и количеству глюков, это не совсем смекалка.


Alexander Panov   (2005-08-25 18:34:00) [24]

Игорь Шевченко ©   (25.08.05 18:32) [115]

Мало ли для чего иногда возникает надобность в извратах.


Alexander Panov   (2005-08-25 18:33:00) [25]

Игорь Шевченко ©   (25.08.05 18:32) [115]
И все-таки, зачем ?


Чтобы проявить смекалку;)


Игорь Шевченко   (2005-08-25 18:32:00) [26]

И все-таки, зачем ?


Alexander Panov   (2005-08-25 18:31:00) [27]

Fay ©   (25.08.05 18:18) [113]
Ну и как же их вызвать, не зная о сужествовании экземпляря?


Это смотря как написать - уже снова повторяю тезис.


Fay   (2005-08-25 18:18:00) [28]

2 Alexander Panov ©   (25.08.05 18:12) [112]

Ну и как же их вызвать, не зная о сужествовании экземпляря?


Alexander Panov   (2005-08-25 18:12:00) [29]

Fay ©   (25.08.05 18:08) [111]
Suspend и Resume - это ведь методы?


Конечно. И они есть у каждого наследника TThread.


Fay   (2005-08-25 18:08:00) [30]

2 Alexander Panov ©   (25.08.05 18:02) [110]
Suspend и Resume - это ведь методы?


Alexander Panov   (2005-08-25 18:02:00) [31]

Alexander Panov ©   (25.08.05 17:56) [108]

Это про что?
При чем здесь неизвестные методы?


Fay   (2005-08-25 17:59:00) [32]

2 Alexander Panov ©   (25.08.05 17:56) [108]
Многоуважаемый не потрудится объяснить, как вызвать метод объекта, не зная о его существовании?


Alexander Panov   (2005-08-25 17:56:00) [33]

Fay ©   (25.08.05 17:17) [107]
1) один из потоков должен знать про второй
2) потоков должно быть ровно два


Совершенно необязательные условия.


Fay   (2005-08-25 17:17:00) [34]

2 Defunct ©   (25.08.05 7:01) [104]
Работоспособен не метод, а применение его в нек. ситуациях, на которые есть существенные ограничения:
1) один из потоков должен знать про второй
2) потоков должно быть ровно два

К тому же, очевидно, подобную защиту нельзя встроить в сам защищаемый объект. Короче - полные дрова.


Leonid Troyanovsky   (2005-08-25 16:58:00) [35]


> volser   (25.08.05 16:40) [105]
> Я попробовал сделать совй пример с помощью крит секций,
> но у меня иногда все подвисает. Возможен ли с крит. секц.
> дедлок?


Конечно.
При неправильном ея употреблении.

--
Regards, LVT.


volser   (2005-08-25 16:40:00) [36]

Я попробовал сделать совй пример с помощью крит секций, но у меня иногда все подвисает. Возможен ли с крит. секц. дедлок?


Defunct   (2005-08-25 07:01:00) [37]

> Fay
> Просто я не верю, что Вы - убеждённый борец за защиту данных с пом. Suspend...

И правильно делаете. Интересно было только показать, что и такой способ синхронизации имеет место, и вполне работоспособен.


Fay   (2005-08-25 05:02:00) [38]

2 Defunct ©   (25.08.05 3:36) [97]
[98] - [100] бред.
Я чуть не сдвинулся модель рисовать 8)
Способ действительно работает. Но только именно с парой потоков. Т.е. с тремя (два ведут себя как основной в примере) не прокатит. Производительность никакая, но мы ведь не это обсуждаем 8)).


Fay   (2005-08-25 05:02:00) [39]

Но я ещё подумаю 8))


Slym   (2005-08-25 04:57:00) [40]

Гомики так и получаются, от использования ануса не по назначению.


Страницы:   1 2 3 4 5 6 7

Наверх

Титульная страница Поиск, карта сайта Написать письмо