Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];

Вниз

Почему многопоточное программирование на Delphi   Найти похожие ветки 

 
GDI+   (2009-10-23 23:08) [0]

почти не используется?

В чем причина однопоточности большинства Delphi приложений - в низкой квалификации программистов или специфике ПО.

Это я к тому что смысл покупать домой 4-ядерные процессоры, если большинство программ не смогут использовать более одного ядра?


 
Sergey Masloff   (2009-10-23 23:10) [1]

Видимо, причина в том что большинству программ многопоточность на фиг не нужна, что не Delphi что на це с плюсами


 
@!!ex ©   (2009-10-23 23:13) [2]

Потому что квалификация батоно кидателей не позволяет им писать корректные многопоточные приложения.


 
antonn ©   (2009-10-23 23:17) [3]


> Это я к тому что смысл покупать домой 4-ядерные процессоры,
>  если большинство программ не смогут использовать более
> одного ядра?
>

смысл в том, чтобы без падения производительности запустить 4 копии программ использующие 1 ядро :)


 
TUser ©   (2009-10-23 23:18) [4]

дома большинство прог не на делфи

и там 2 ядер - за глаза сегодня, имхо


 
turbouser ©   (2009-10-23 23:26) [5]


>
> GDI+   (23.10.09 23:08)
>
> почти не используется?
>
> В чем причина

Где надо - многопоточно... где не надо - не многопоточно..
Мда.. Кааждый овощь -- и далее по тексту


 
Игорь Шевченко ©   (2009-10-23 23:27) [6]

На многоядерном процессоре и однопоточные приложения будут работать быстрее. Они, как минимум, меньше будут конкурировать за процессор с системными потоками.


 
Loginov Dmitry ©   (2009-10-23 23:29) [7]

4-ядерный проц покупать есть смысл, если разрабатываешь многопоточное приложение на Delphi.
Тестировать удобно :)


 
Суслик_   (2009-10-24 00:10) [8]

вот есть у меня транспорт на именованных каналах - принципиально однопоточный.

ты поди такой же скорости добейся в многопоточности.


 
Сергей М. ©   (2009-10-24 00:13) [9]


> Почему многопоточное программирование на Delphi.. почти не используется?


Это на каком же заборе такое написано ?


 
Игорь Шевченко ©   (2009-10-24 00:22) [10]

Суслик_   (24.10.09 00:10) [8]


> ты поди такой же скорости добейся в многопоточности.


Если добьюсь, что будет ? :)


 
Суслик_   (2009-10-24 00:32) [11]

я тебе, Игорь, подарю пирожок.
с рисом.


 
oxffff ©   (2009-10-24 00:34) [12]


> Суслик_   (24.10.09 00:32) [11]


Готовь и для меня с мясом.


 
Германн ©   (2009-10-24 01:24) [13]


> Если добьюсь, что будет ? :)

Посулят и обманут.
:)


 
boa_kaa ©   (2009-10-24 01:42) [14]

вот я дураг... не помню, когда последний раз однопоточные делал...


 
Германн ©   (2009-10-24 01:51) [15]


> boa_kaa ©   (24.10.09 01:42) [14]
>
> вот я дураг... не помню, когда последний раз однопоточные
> делал...
>

Вот теперь и думай. Дураг ты или придураг?
:)


 
boa_kaa ©   (2009-10-24 02:57) [16]


> Германн ©   (24.10.09 01:51) [15]

дык думаю, думаю же...


 
Германн ©   (2009-10-24 03:02) [17]


> boa_kaa ©   (24.10.09 02:57) [16]
>
>
> > Германн ©   (24.10.09 01:51) [15]
>
> дык думаю, думаю же...
>

Вот и думай в следующий раз, когда захочется высказаться во втором часу ночи по Москве.
:)


 
boa_kaa ©   (2009-10-24 03:11) [18]


> Германн ©   (24.10.09 03:02) [17]

што-то я не в теме :(


 
Riply ©   (2009-10-24 03:42) [19]

> Почему многопоточное программирование на Delphi
> почти не используется?

Ну и неправда ваша ! Почти все проекты на Delphi многопоточны.
Достаточно использовать что-нибудь типа OpenDialog :)


 
Омлет ©   (2009-10-24 03:45) [20]

> [19] Riply ©   (24.10.09 03:42)

OpenDialog в отдельном потоке??


 
Riply ©   (2009-10-24 03:47) [21]

> [20] Омлет ©   (24.10.09 03:45)
> OpenDialog в отдельном потоке??

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


 
Германн ©   (2009-10-24 03:49) [22]


> Riply ©   (24.10.09 03:42) [19]

Ну хоть в четвёртом часу ночи, Саша таки зашла на ДМ.
Привет, Саша.
Рад, что Саша хоть иногда, но находит время для этого форума.
Без Саши, на форуме чего-то не хватает.


 
Riply ©   (2009-10-24 03:53) [23]

> [22] Германн ©   (24.10.09 03:49)
> Привет, Саша.

Здравствуйте - здравствуйте, полуночник :)

> Ну хоть в четвёртом часу ночи, Саша таки зашла на ДМ.

На самом деле я захожу постоянно.
Просто пишу редко.


 
Омлет ©   (2009-10-24 03:59) [24]

> [21] Riply ©   (24.10.09 03:47)
> Просто диалоги такого типа, тебя не спрашивая,
> создают парочку нитей, чтобы жизнь медом не казалась :)

Ну, это, наверное, уже Windows. К Delphi как бэ не относится.


 
Германн ©   (2009-10-24 04:03) [25]


> Riply ©   (24.10.09 03:53) [23]
>
> > [22] Германн ©   (24.10.09 03:49)
> > Привет, Саша.
>
> Здравствуйте - здравствуйте, полуночник :)
>
> > Ну хоть в четвёртом часу ночи, Саша таки зашла на ДМ.
>
> На самом деле я захожу постоянно.
> Просто пишу редко.
>


> Просто пишу редко.
>

И я про это.
Но не осуждаю ни в коей мере. Наслышан, что ты активно участвуешь на друг(ом)(их)  форум(е)(ах). Успехов тебе и удачи!
Просто сожалею, что ДМ тебя "пока" (я надеюсь, что только "пока") потерял.


 
Riply ©   (2009-10-24 04:09) [26]

> [25] Германн ©   (24.10.09 04:03)
> И я про это.

Неа. Дело в том, что я так и не овладела искусством отвечать на вопросы :(
Остается толко флудить, пока модераторы спят :)


 
Германн ©   (2009-10-24 04:17) [27]


> Riply ©   (24.10.09 04:09) [26]
>
> > [25] Германн ©   (24.10.09 04:03)
> > И я про это.
>
> Неа. Дело в том, что я так и не овладела искусством отвечать
> на вопросы :(
> Остается толко флудить, пока модераторы спят :)
>

Хм.
А слухи о том, что ты модератор на некоем форуме  - ложь?


 
boa_kaa ©   (2009-10-24 04:24) [28]

интересно, а Герман когда-либо спит?


 
Riply ©   (2009-10-24 04:25) [29]

> [27] Германн ©   (24.10.09 04:17)
> Хм.
> А слухи о том, что ты модератор на некоем форуме  - ложь?

Нет, не ложь.
Следить за порядком гораздо проще, чем давать качественные ответы :)


 
Германн ©   (2009-10-24 04:30) [30]


> boa_kaa ©   (24.10.09 04:24) [28]
>
> интересно, а Герман когда-либо спит?

Спит. Ручаюсь за это!

:)
> Riply ©   (24.10.09 04:25) [29]
>
> > [27] Германн ©   (24.10.09 04:17)
> > Хм.
> > А слухи о том, что ты модератор на некоем форуме  - ложь?
>
>
> Нет, не ложь.
> Следить за порядком гораздо проще, чем давать качественные
> ответы :)

И ты променяла творчество на службу!
:)
Это только шутка и не более! Не бери на душу. :)


 
Омлет ©   (2009-10-24 04:37) [31]

Женщинам нельзя модериировать, они слишком импульсивны ))


 
Eraser ©   (2009-10-24 05:35) [32]

> [0] GDI+   (23.10.09 23:08)
> почти не используется?

на чем основано это утверждение?
на делфи работать с многопоточностью куда проще, чем на c++, где все на win api вручную делать надо.


 
Григорьев Антон ©   (2009-10-24 08:37) [33]

Delphi, как и любой императивный язык, плохо подходит для распараллеливания. Например, возьмём простой цикл, который заполняет массив случайными значенями:
for I := 0 to 999
A[I] := Random(100);

Его, в принципе, можно распараллелить: разбить массив на четыре части, и каждую пусть заполняет своя нить. Только кто будет с этим возиться? Создание новой нити - это куча кода. Фокусы типа описанных в статье "Выполнение кода в потоке без выделения его в процедуру" http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1355 помогают, но не радикально. Почему, например, надо разбивать этот цикл именно на 4 нити? А вдруг у пользователя старый 2-ядерник? Или наоборот, новейший 8-ядерник?

Выход - в среде исполнения, которая может автоматически во время выполнения (а не компиляции!) определять возможность распараллеливания кода и раскидывать его по такому количеству нитей, которое оптимально для данной системы. Но для этого нужны другие ЯП: ни Delphi, ни ему подобные не дают возможности провести такой формальный анализ из-за побочных эффектов, нереентерабельных функций и т.п. Пока идеальным вариантом для реализации такой многопоточности выглядят функциональные языки. Соответствующая теория уже сущетвует, реализация, насколько я помню, тоже. Если не ошибаюсь, то Erlang (есть такой функциональный ЯП) уже умеет распараллеливать выполнение автоматически там, где это возможно. Так что существует мнение, что массовом при переходе на многопроцессорные/многоядерные системы императивные языки останутся только в узкой нише (как сейчас ассемблер), а на первое место выдут функциональные.


 
Pavia ©   (2009-10-24 10:59) [34]


> Delphi, как и любой императивный язык, плохо подходит для
> распараллеливания. Например, возьмём простой цикл, который
> заполняет массив случайными значенями:for I := 0 to 999
> A[I] := Random(100);Его, в принципе, можно распараллелить:
>  разбить массив на четыре части, и каждую пусть заполняет
> своя нить. Только кто будет с этим возиться?


Ну так OpenMP видел? Нормально распараллеливается в пару строк.


 
Аноним   (2009-10-24 13:49) [35]


> чем на c++, где все на win api вручную делать надо

ога :-D
в ц++ же никак нельзя использовать буст и прочие библиотеки
не несите чушь


 
DVM ©   (2009-10-24 13:51) [36]


> Почему многопоточное программирование на Delphi
>
> GDI+   (23.10.09 23:08)
>
> почти не используется?

Почему не используется? Мною например очень активно используется.


 
oldman ©   (2009-10-24 13:52) [37]


> GDI+   (23.10.09 23:08)  
> почти не используется?
>
> В чем причина однопоточности большинства Delphi приложений
> - в низкой квалификации программистов или специфике ПО.
>
> Это я к тому что смысл покупать домой 4-ядерные процессоры,
>  если большинство программ не смогут использовать более
> одного ядра?


в огороде бузина , в киеве дядька...

да кто же тебе сказал, что разные потоки пойдут по разным процам?


 
AlexDan ©   (2009-10-24 20:35) [38]

> Германн ©   (24.10.09 04:17) [27]
> А слухи о том, что ты модератор на некоем форуме  
интересно на каком некоем?)


 
antonn ©   (2009-10-25 00:47) [39]


> интересно на каком некоем?)

например sources.ru :)


 
Германн ©   (2009-10-25 01:18) [40]


> antonn ©   (25.10.09 00:47) [39]

Я даже хотел предложить спросить это именно у тебя, но поленился. :)



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

Форум: "Прочее";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.006 c
15-1256481351
POOP
2009-10-25 17:35
2009.12.27
Погрешность решения


3-1232568724
Amid
2009-01-21 23:12
2009.12.27
Orqcle10g + Delphi 6, 7


2-1257909781
igan
2009-11-11 06:23
2009.12.27
Типы данных C, VB -> Delphi


3-1232433164
Matveih1
2009-01-20 09:32
2009.12.27
Данные не обновляются


15-1256647102
Scot Storch
2009-10-27 15:38
2009.12.27
Проблема с кодировкой (русские символы)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский