А вы в курсе, что Synchronize стопает все потоки на время запуска метода, указанного в нем?
Ну на самом деле, если с умом юзать Synchronize, то всё нормально будет. По сути, мы юзаем Synchronize только когда, что - то изменяем в VCL или общих переменных, что занимает сотые доли секунды. Основное время занимает ожидание ответа сервера. Соответственно говорю исключительно о работе с WEB.
Что касается вычислений, то там многопоточность вовсе бессмысленна. Максимум один доп. поток, что бы форма не висла.
Что касается вычислений, то там многопоточность вовсе бессмысленна. Максимум один доп. поток, что бы форма не висла.
Я даже не знаю откуда начать тебя ругать... Сейчас половина математиков бьется над задачами расспаралеливания вычислений, а тут приходишь ты и говоришь что 1 потока хватит...
Я даже не знаю откуда начать тебя ругать... Сейчас половина математиков бьется над задачами расспаралеливания вычислений, а тут приходишь ты и говоришь что 1 потока хватит...
Что один поток, что десять, какая разница, процессор то один (хотя здесь конечно можно поспорить, есть сервера многопроцессорные, но думаю к делфи это не относится. Кто будет катать серверное ПО на делфях, ИМХО), следовательно и очередь одна.
Что один поток, что десять, какая разница, процессор то один (хотя здесь конечно можно поспорить, есть сервера многопроцессорные, но думаю к делфи это не относится. Кто будет катать серверное ПО на делфях, ИМХО), следовательно и очередь одна.
воу воу воу воу воу
много потоков воруют процессорное время у других приложений, следовательно работа идёт быстрее.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Сейчас половина математиков бьется над задачами распараллеливания вычислений
Что под этим имелось в виду я не совсем понял, но врятли речь шла о краже процессорного времени у других приложений..
Забыл про многоядерные процессоры. Я могу поверить, что потоки могут иметь смысл если на машине более одного ядра, что является логичным(прижали). Но на одном ядре, многопоточное приложение не будет выигрывать. На мой взгляд, кража ресурсов процессора у других приложение в данном контексте - не аргумент.
Что под этим имелось в виду я не совсем понял, но врятли речь шла о краже процессорного времени у других приложений..
Забыл про многоядерные процессоры. Я могу поверить, что потоки могут иметь смысл если на машине более одного ядра, что является логичным(прижали). Но на одном ядре, многопоточное приложение не будет выигрывать. На мой взгляд, кража ресурсов процессора у других приложение в данном контексте - не аргумент.
Даже на 1м ядре можно получить прирост в 2-4 раза при мат. вычислений.
Имелось ввиду что большинство расчетов занимают слишком много времени, например вычисления интегралов, простых чисел, работа с матрицами, работа с графикой, дифуры, решения систем уравнений, решение задач логистики, моделирование всего, например физических процессов и тд...
2-4 раза? 5-7% максимум, распараллеливание таких сложных расчетов как работа с матрицами, например, вообще с трудом поддается распараллеливанию ибо постоянная смена контекста это еще хуже чем работа в одном потоке. Почему подобные расчеты предпочитают переносить на ГПУ, да потому что там ядер в 5-6, а иногда в десятки раз больше, следовательно больше потоков без смены контекста