Главная страница
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.01 c
1-6961
Hurin
2002-05-22 17:46
2002.06.03
Графика


3-6917
Катерина
2002-05-13 12:35
2002.06.03
Настройка BDE в run-time


4-7254
Ziggi
2002-03-29 00:59
2002.06.03
Как отловить нажатие клавиши (любой) в реал-тайме?


1-6956
ymin
2002-05-22 16:45
2002.06.03
Почему по команде form1.print ни один combobox не печатается?


1-7041
Alex_LG2
2002-05-21 14:48
2002.06.03
Хочу подгружать dll-ки так, чтобы выполняли параллельную работу