powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Для НЕ занятых людей :))
8 сообщений из 8, страница 1 из 1
Для НЕ занятых людей :))
    #32274134
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри что отвлекаю внимание, но по названию темы рискну предполажить что народ не занят :))

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

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

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

ну 500 мегов, ну 1000 окон. а причем сдесь разные потоки?
...
Рейтинг: 0 / 0
Для НЕ занятых людей :))
    #32274939
Papka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж. Код посмотреть было-бы не дурственно.
...
Рейтинг: 0 / 0
Для НЕ занятых людей :))
    #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
Для НЕ занятых людей :))
    #32275211
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
один из подводных камней обнаружен.... TTimer не хочет заводится....
точнее работает... но как только на него вешаешь нагрузку, то выстегивается....
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Для НЕ занятых людей :))
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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