Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
1-1150289355
Nicky
2006-06-14 16:49
2006.07.30
Как написать код, чтобы открывался файл справки при инсталляции


15-1151835771
Socers'
2006-07-02 14:22
2006.07.30
Звук


1-1150875962
hbreaker
2006-06-21 11:46
2006.07.30
перечисления..


2-1152599023
Yegorchic
2006-07-11 10:23
2006.07.30
Как определить количество помеченных (checked) items в ListView?


1-1150292191
Megabyte
2006-06-14 17:36
2006.07.30
Изменение формата ячеек Экселя в Дельфи




   Наверх