|
Платные хостинги
Раскрутка сайта
Книги по программированию
Распараллеливание процессов на 1-й машине, Delphi 6
- Подскажите, пожалуйста, что быстрее:1 большая программа или та же программа, но разделенная на N нитейНити выполняются (типа) одновременно на одной машине.Можно ли повесить выполнение некоторой нити на некоторое прерывание, к примеру место модема или мыши?
- Зачастую, если много ниток. По крайней мере, в теории операционных систем. Поясню простым примером: если программа работает с винчестером, то её однониточная реализация тормозится низкой скоростью записи/чтения винчестера (другой периферии). Процессор простаивает в то время, когда аппаратура пишет или читает с диска... Много ниток позволит загрузить процессор в момент, ожидания откликов от винчестера ну или других периферийных устройств...
- Реч пока идет только о работе в памяти, но что будет дальше...???К тому же винда часть памяти "сбрасывает" на винчестер (темпы и своп)И все-же:Можно ли повесить выполнение некоторой нити на некоторое прерывание, к примеру место модема или мыши?Как это сделать в Дельфи 6?
- это тебе надо в раздел программирования делфи
- val в принципе объяснил достаточно понятно и указал на основную проблему. Если же работать ТОЛЬКО с памятью, то одна нить будет быстрее. Но это само собой влечет возможные проблемы при желании как-то прервать или еще что-то сделать. Только очень простые приложения пишуться однотредовыми. Даже туповатые клиенты к базе на том же Delphi лучше делать в нитях.Цитата (Black_Joker @ 28.1.2005, 11:46)Можно ли повесить выполнение некоторой нити на некоторое прерывание, к примеру место модема или мыши?Как это сделать в Дельфи 6?Никак. Сама Винда ловит практически все прерывания сама. Если тебе хочется это реализовать, то надо писать свой драйвер. Занятие сложное, но интересное.
- Спасибо. С драйвером заморчиваться некогда и ума не хватит.
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|