Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.22;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.045 c
2-1136542852
pvm
2006-01-06 13:20
2006.01.22
PChar в DLL


14-1135694392
Digitman
2005-12-27 17:39
2006.01.22
Rayzoon Jamstix VSTi v1.01c


14-1135763190
Igorek
2005-12-28 12:46
2006.01.22
Операции над "двоичными строками"


1-1135067057
Stanislav
2005-12-20 11:24
2006.01.22
Перемещение объекта в TScrollBox


14-1135871353
Kerk
2005-12-29 18:49
2006.01.22
Парсинг HTML в перл