Главная страница
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.046 c
6-1128616968
LITTLE RABBIT
2005-10-06 20:42
2006.01.22
Как преобразовать rtf в html ЧТОБ ЭТО РАБОТАЛО


2-1136449174
JOYMAN
2006-01-05 11:19
2006.01.22
Поверх всех окон сделать


1-1134687807
Батала
2005-12-16 02:03
2006.01.22
Как определить какая кнопка нажата (не путать с символами)?


2-1136212863
xroot
2006-01-02 17:41
2006.01.22
Показать форму не привлекая фокус


2-1136477090
dera
2006-01-05 19:04
2006.01.22
Как поменять дату создания файла?