Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.30;
Скачать: CL | DM;

Вниз

Работа с потоками...   Найти похожие ветки 

 
KaLLeKa   (2006-07-08 17:19) [0]

Доброе время суток. Моя программа обрабатывает большое кол - во записей с TStringListe. Проходит это все в одной процедуре. Мне сказали что целесообразнее было бы сделать так, чтобы список обрабатывался двумя потоками работающими одновременно, первый до середины списка а второй с середины и до конца. К сожалению делфийский хелп мне мало чем сумел помочь в вопросе создания потоков((
Подскажите пожалуйста где почитать что нибудь об этом, или если можно, было бы здорово посмотреть уже какой нибудь готовый примерчик по созданию двух потоков которые что то делают...
Мне не понятно как запускать функции потоков с передавать в них данные.. Сколько не мучался - ничего не выходит((


 
Шпиён   (2006-07-08 17:27) [1]

http://www.delphimaster.ru/articles/panov/index.html


 
Virgo_Style ©   (2006-07-08 17:33) [2]

не уверен в целесообразности


 
Шпиён   (2006-07-08 18:18) [3]


> Virgo_Style ©   (08.07.06 17:33) [2]

А вдруг у него многопроцессорный компьютер? -))

В случае однопроцессорного компьютера - действительно нецелесообразно. Но вот вынести обработку в отдельный поток -  может быть и имеет смысл (тут зависит от конкретной программы), чтобы не "тормозить" пользовательский интерфейс.

> KaLLeKa   (08.07.06 17:19)

При запуске многопоточного процесса в системе с одним процессором потоки работают поочередно. Процессор быстро переключается между потоками, создавая впечатление параллельной работы потоков, хотя и не на столь быстром процессоре. В случае двух ограниченных производительностью процессора потоков в одном процессе  потоки будут работать параллельно, и каждому потоку будет соответствовать виртуальный процессор с быстродействием, равным 1/2 быстродействия реального процессора.
Когда имеется одновременная потребность в выполнении большого объема вычислений и операций ввода - вывода, наличие потоков позволяет совместить эти виды деятельности во времени, тем самым увеличивая общую скорость работы приложения.


 
Virgo_Style ©   (2006-07-08 18:22) [4]

Шпиён   (08.07.06 18:18) [3]
равным 1/2 быстродействия реального процессора


минус расходы на организацию многопоточности


 
Шпиён   (2006-07-08 18:24) [5]

И, кроме того, появятся дополнительные  "затраты" на переключение между потоками. Та что 1/2 - это даже слишком оптимистично -)


 
Шпиён   (2006-07-08 18:24) [6]


> Virgo_Style ©   (08.07.06 18:22) [4]

Не видел, когда писал [5]



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

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

Наверх




Память: 0.48 MB
Время: 0.033 c
5-1136303968
FunkyByte
2006-01-03 18:59
2006.07.30
Создание потомка TComponent с нестандартным владельцем


2-1152549870
Belorus
2006-07-10 20:44
2006.07.30
Доступ к MS SQL


2-1152370477
AlexanderMS
2006-07-08 18:54
2006.07.30
Странная проблема.


2-1152519393
fast2
2006-07-10 12:16
2006.07.30
Как узнать, что строка состоит из сивмолов верхнего регистра?


15-1151649368
syte_ser78
2006-06-30 10:36
2006.07.30
просто вопрос о деньгах.