Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.03;
Скачать: CL | DM;

Вниз

Хочу подгружать dll-ки так, чтобы выполняли параллельную работу   Найти похожие ветки 

 
Alex_LG2   (2002-05-21 14:48) [0]

Суть в том, что программа должна выполнять несколько отдельных процедур одновременно, так, чтобы они не мешали одна другой. Тут всё ясно, скажете вы: создавай потоки. Так. Но ради экономии памяти (эти процедуры выполняются не всё время) они (процедуры) распределены у меня по длл-кам. Так вот КАК лучше сделать: в программе создавать отдельные потоки и в них загружать(динамически)эти длл, или потоки создавать в самих длл? Или же просто создавать формы в этих длл, и эти формы сами собой :) будут работать уже в разных потоках? Возможно, вопрос и простой на самом деле, но я уже здесь совсем запутался.
И ещё: что, если вот такая длл вызывает в свою очередь следующую подобным же образом? (хотя это уже вторичный вопрос)


 
Digitman ©   (2002-05-21 15:30) [1]

При чем здесь формы ?
Ты же речь ведешь об организации параллельных вычислений, а не о визуализации их параметров/результатов (для чего, собственно, в первую очередь и предназначены формы) !
Разницы нет абсолютно никакой. Делай так, как тебе удобней и проще/наглядней с т.з. модульной организации проекта и с т.з. упрощения отладки.

Здесь гораздо важней понимать вот что. Если создание самого первого экземпляра некоего потока (объекта-наследника класса TThread) будет происходить в некоей экпортируемой DLL-ф-ции, и эта самая DLL-ф-ция, в свою очередь, будет вызвана из доп.потока вызывающего хост-процесса, то метод Synchronize() в ряде случаев не позволит обеспечить безопасную работу с виз.объектами VCL.


 
Fellomena   (2002-05-21 16:31) [2]

Если процедуры, которые находятся в dll используются программой часто, то лучше подключить dll статически, тогда ты избавишься от ненужных накладных расходов на загрузку и освобождение dll каждый раз, когда необходимо выполнить ту или иную ф-ию или процедуру из этой dll.
А сами эти процедуры уже выполняй в различных потоках.
Imho, это оптимальное решение в данной ситуации.



Страницы: 1 вся ветка

Текущий архив: 2002.06.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-7022
Vladimir N.
2002-05-21 16:10
2002.06.03
Ворос по стандартному меню (высота строки) и CheckListBox-у


1-7007
Dennn_is
2002-05-23 13:54
2002.06.03
Уважаемые Мастера!


1-7053
ask
2002-05-21 13:37
2002.06.03
close form -> minimize


3-6894
Алик
2002-05-08 09:41
2002.06.03
Сеть, lock file is grown too large.


3-6931
AlexeyS
2002-05-14 11:48
2002.06.03
Нет кириллицы в Data Control ах