Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2009, 20:27   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию Потоки. Почему всё-равно виснет окно?

Разве при использовании потоков, главное окно будет зависать?

Вот пример:
Код:
  asd= class(TThread)
    procedure execute; override;
    procedure doIt;
  end;

var
  Form3: TForm3;
  a:asd;

implementation

{$R *.dfm}

procedure asd.execute;
begin
  Synchronize(doIt);
end;

procedure asd.doIt;
begin
  while true do
  begin
    sleep(1000);
  end;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
  a:=asd.Create(false);
end;
TwiX вне форума Ответить с цитированием
Старый 12.12.2009, 20:32   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Synchronize - Вам известно что эта функция делает ?
BOBAH13 вне форума Ответить с цитированием
Старый 12.12.2009, 20:34   #3
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Зачем синхронизация?
Код:
procedure asd.execute;
begin
  doIt;
end;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 12.12.2009, 20:49   #4
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Я читал - там написано, что бы при закрытии проекта в памяти не осталась всякая чушь =)
TwiX вне форума Ответить с цитированием
Старый 12.12.2009, 20:56   #5
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Цитата:
Сообщение от TwiX Посмотреть сообщение
Я читал - там написано, что бы при закрытии проекта в памяти не осталась всякая чушь =)
Похоже Вы не ТАМ прочитали

Многопоточность - как это делается в Дельфи

Последний раз редактировалось s.Creator; 12.12.2009 в 21:01.
s.Creator вне форума Ответить с цитированием
Старый 12.12.2009, 21:09   #6
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

^Я там и читал xD
Только мельком) И глядя на картинки понял, что Syncronizy - это очень хорошо =)
TwiX вне форума Ответить с цитированием
Старый 12.12.2009, 21:21   #7
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Это очень хорошо, о в двух словах - синхронизировать и выполнить в основном потоке.
Т.е. Вы создали нить зашли из нее в основной поток и заблокировали его.
s.Creator вне форума Ответить с цитированием
Старый 12.12.2009, 21:23   #8
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

И зачем это тогда надо, раз блокируется основной поток?
TwiX вне форума Ответить с цитированием
Старый 12.12.2009, 23:00   #9
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от TwiX Посмотреть сообщение
И зачем это тогда надо, раз блокируется основной поток?
Почитайте нормально, а не "мельком". Уж такие вопросы описаны очень хороши
BOBAH13 вне форума Ответить с цитированием
Старый 13.12.2009, 05:05   #10
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Синхронизация нужна тогда, когда надо перерисовать, скажем окно. Для таскБара и других компонентов не нужна.
Altera вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
окно уничтоженно, а процесс висит...почему? Пепел Феникса Общие вопросы C/C++ 3 14.11.2009 03:34
и все равно мерцает! Spiritual Win Api 4 06.02.2009 20:28
Сравнение значений в ячейках и вывод соообщения если не равно. Siver Microsoft Office Excel 2 18.12.2008 04:42
КАК СДЕЛАТЬ ТАК ЧТОБЫ ВСЕ КОМПОНЕНТЫ КОТ. НА ФОРМЕ РАСТЯГИВАЛИСЬ НА ВСЁ ОКНО ПРИ РАЗВЁОТЫВАНИЕ ОКНА???? Alexij Общие вопросы Delphi 4 23.06.2008 10:44
Почему без DBChart всё раьотает отлично Dinarochka Помощь студентам 2 02.06.2008 09:55