Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Для НЕ занятых людей :)) / 8 сообщений из 8, страница 1 из 1
24.09.2003, 14:11
    #32274134
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для НЕ занятых людей :))
сорри что отвлекаю внимание, но по названию темы рискну предполажить что народ не занят :))

Итак, я тут попросил дельфяка создать тысячу форм с фоткой и краткой информацией из базы (ради любопытства, реально надеюсь больше 10 одновременно не будя). Формочки создались, просчитались координаты, так чтоб не одно окно на другое не залезло... ну вобщем итог, винда попросила 500 мегов памяти под это дело. Это цифры.

Для справки тем кто начинает работать с библиотеками, все эти формы были созданы в dll и прекрасно работали.
Кое какая фича интересная, по крайней мере для себя я открыл, что функцию окна может выполнять не только главный поток, но и любой другой. В итоге все эти формы управлялись одним потоком, а тестовая формочка, которая запускала это безобразие -- другим. И все это прекрасно работало, чему я был несказанно рад.

ну вот наверное и все чем хотел поделится, если есть мыслина эту тему, высказывайте, обсудим.
...
Рейтинг: 0 / 0
24.09.2003, 15:20
    #32274304
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для НЕ занятых людей :))
насколько я знаю VCL - все еще не thread-safe - так что я ничего не понял...
...
Рейтинг: 0 / 0
25.09.2003, 03:11
    #32274786
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для НЕ занятых людей :))
неее
фича состоит в том, что один поток отруливает одно окно, а второй другое. Причем в рамках конкретного окна они работают в однопоточном режиме. :))
...
Рейтинг: 0 / 0
25.09.2003, 08:49
    #32274887
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для НЕ занятых людей :))
т.е. присутсвую 2 message queue? а можно посмотреть код?
...
Рейтинг: 0 / 0
25.09.2003, 09:20
    #32274921
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для НЕ занятых людей :))
а че, че? чета я торможу! в чем фишка-то?

ну 500 мегов, ну 1000 окон. а причем сдесь разные потоки?
...
Рейтинг: 0 / 0
25.09.2003, 09:36
    #32274939
Papka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для НЕ занятых людей :))
Да уж. Код посмотреть было-бы не дурственно.
...
Рейтинг: 0 / 0
25.09.2003, 11:40
    #32275175
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для НЕ занятых людей :))
alex_k
не, потоки о окна не очень связны ))
сорри за неясности

По поводу кода... призадумался.... тяжело показать все будет потому как там целая куча классов (ну не ради этого прикола писалось все :) ).
в качестве эксперемента могу предложить следующую функцию потока....

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 Form:=TForm.Create(nil);
 Form.Show;
 while true do
 begin
  Application.ProcessMessages;
  Sleep( 10 );
 end; 


если запустить этот код в отдельном потоке, то получаются забавные вещи. Например остановим его (поставим на паузу) и форма, созданная этим потоком "зависнет". В тоже время вторая, коткуда например стартовали поток, будет продолжать работать. Воот, на основе этого я и сделал выводы, описанные в самом начале. Может кто увидит здесь подводные камни?
...
Рейтинг: 0 / 0
25.09.2003, 11:58
    #32275211
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для НЕ занятых людей :))
один из подводных камней обнаружен.... TTimer не хочет заводится....
точнее работает... но как только на него вешаешь нагрузку, то выстегивается....
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Для НЕ занятых людей :)) / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]