Вниз
Скачать: CL | DM;

threads   Найти похожие ветки 

 
oleggar ©   (2005-12-16 12:30) [0]

мне понадобилось в Делфи написать многопоточное приложение .Все работает ,я только не пойму одного из-за разночтений в документации -что нужно выносить в синхронизационную процедуру,так что потом вызывается через synhronize ? все процедуры отрисовки ,все процедуры ,обращающиеся к VCL ,например tsocketserver ,или все обращения к компонентам ,и VCL и не VCL ,которые авторы
объявили в документации "not thread-safe" ?и еще .Если я запускаю synchonize в процедуре Execute потока ,цикл в execute продолжается мгновенно ,или когда синхропроцедура отработает ?и последнее.может ли быть в потоке несколько синхропроцедур и можно ли их запускать через 2 synhronize так
procedure execute
begin

repeat
a:=a+1;

synhronize(1proc);
synhronize(2proc)

until 1=2;

end;


 
Digitman ©   (2005-12-16 12:39) [1]

в Synchronize() следует выносить , прежде всего, те обращения к визуальным VCL-объектам, которые ведут к модификации канвы

туда же можно (но необязательно нужно, а порой и вредно) вынести обращения к прочим объектам, не допускающим одновременный доступ со стороны более чем одного код.потока


 
oleggar ©   (2005-12-16 12:47) [2]

верю .рискну так сделать .а ты много многопоточных приложений больших ,а не учебных сделал ?для меня это второе ,1 еще работает .но оно было проще ,а это вообще огромное


 
Alexander Panov ©   (2005-12-16 13:49) [3]

oleggar ©   (16.12.05 12:47) [2]
верю .рискну так сделать .а ты много многопоточных приложений больших ,а не учебных сделал ?для меня это второе ,1 еще работает .но оно было проще ,а это вообще огромное


Прими за правило - код, использующий общие для разных потоков объекты, защищать критическими секциями.


 
Digitman ©   (2005-12-16 13:52) [4]


> а ты много многопоточных приложений больших ,а не учебных
> сделал ?


А это имеет отношение к твоему делу ?

Думаю - нет.

Сколько бы их ни было (у тебя или у меня), подход д.б. один - прежде чем сотворять задуманое, нужно внимательнейшим образом проштудировать справку (лучше - MSDN) и подкрепить/опровергнуть свои предположения по логике работы TThread детальным изучением соотв.фрагментов исх.кода этого класса



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
2-1135931817
ANB
2005-12-30 11:36
2006.01.22
Хендл окна это Integer или Cardinal ?


14-1132836420
linox
2005-11-24 15:47
2006.01.22
Нужно сделать прогу для админа в инет-кафе (просьба)


2-1136670008
BiggieSmalls
2006-01-08 00:40
2006.01.22
Excel и StringGrid


14-1135621138
Kostafey
2005-12-26 21:18
2006.01.22
ШО це такэ база знаний ?


2-1136452710
tytus
2006-01-05 12:18
2006.01.22
Как записать значение в столбец?




   Наверх