Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как зависит скорость выполнения потока от его приоритета?


TStas ©   (2005-07-16 21:05:00) 

Написал программу, в которой большие вычисления производятся в отдельном потоке. Что поэкспериментировать с потоками сделал trackBar, который изменяет приоритет потока. Запустил два экземпляра программы с одинаковыми исходными данными и выставил разные приоритеты потоков. Ушел на час погулять. Почему-то когда посмотрел, оба потока выполнили приблизительно одинаковое количество циклов. Что же, приоритет практически не влияет на скорость?


TStas   (2005-07-18 22:45:00) [1]

>evvcom
Так читал. Есть Фаронов и Фленов. В данном случае читал Фленова, что-то про приоритет процесса... А действительно интересно.


evvcom   (2005-07-18 13:50:00) [2]


> Наверное я плохо прочитал про процессы, не знал, что у них
> тоже есть приоритет

А ты почитай, это интересно. В итоге "глобальный" приоритет потока складывается из приоритета процесса и "локального" приоритета потока.


TStas   (2005-07-18 13:39:00) [3]

>DrPass
>А ты попробуй менять приоритет процесса, а не потока
Наверное я плохо прочитал про процессы, не знал, что у них тоже есть приоритет.
>evvcom
>Поэтому здесь лучше приоритет потока понизить и не забивать голову.
Вот я и сделал для себя тот же вывод


evvcom   (2005-07-18 10:22:00) [4]


> Еще заметил, что при очень высоком приоритете компьютер
> плохо обрабатывает вооще все сообщения

Естественно. Поэтому здесь лучше приоритет потока понизить и не забивать голову.


DrPass   (2005-07-17 22:11:00) [5]


> TStas ©   (17.07.05 19:18) [5]

А ты попробуй менять приоритет процесса, а не потока


Alexander Panov   (2005-07-17 21:39:00) [6]

TStas ©   (17.07.05 19:18) [5]
потоки разных экземпляров одного процесса. (Два раза запущена одна программа)


??

Процесс не может иметь несколько экземпляров себя.

Смысл имеет говорить о потоках одного процесса.


TStas   (2005-07-17 19:42:00) [7]

>Германн
Поток ищет путем тупых переборов решения некого уравнения (их не найдешь по-другому). К видимых компонентам он обращается в двух случаях: или нашел очередное решение, тогда он его пишет в Мемо, что редко очень, или просто очередная тясяча переборов, тогда обновляет прогресс бар. Еще тикает таймер, который показывает, сколько прошло времени и считает прогноз, сколько осталось, если все так дальше и пойдет. Таймер, конечно, к потоку отношения не имеет и пользуется глобальной переменной. Только таймер, видимо,  и создавал сообщения, поскольку компьютер я оставил в покое. А трекбар я туда приделал, чтобы заодно и посмотреть, как влияет приоритет. Запускал два экзепляра программы с одинаковыми условиями, то есть введено было одно и то же. Еще заметил, что при очень высоком приоритете компьютер плохо обрабатывает вооще все сообщения, а не только те, что адресованы программе.


TStas   (2005-07-17 19:18:00) [8]

Потоки идентичны, но это потоки разных экземпляров одного процесса. (Два раза запущена одна программа)
А как я приведу описание? Полный код модуля потока? Потоки выполняют большие вычисления, переодически выводя в индикатор процесса процент выполнения.
А за ответ спасибо. Посколько я отставил компьютер в покое очередь сообщений и там и там была пуста, поэтому и получил, что получил.
PS. Я не знаю, о какой статье идет речь.


Anatoly Podgoretsky   (2005-07-17 11:19:00) [9]

Н.Р это новые русские?


Германн   (2005-07-17 02:46:00) [10]

Имхо.
А об чем тут спик?

2 DrPass ©   (16.07.05 22:43) [1]
По сабжу - тут два одинаковых (тождественных) потока.

Но как можно об чем-либо говорить, если НИКАК не приведено описание сего потока. А вдруг реализация оного взята из статьи Н.Р.? Даже Digitman'у уже надоело ругать эту статью. А она множится в сети и по сей день.


Marser   (2005-07-16 23:49:00) [11]

А вот ты бы попробовал записать на дискету из потока с более высоким приоритетом и при этом сравнил бы сколько циклов выполнилось в остальных...


DrPass   (2005-07-16 22:43:00) [12]

Приоритет потока влияет на то, как часто ОС будет выделять данному потоку процессорное время среди других потоков процесса. Если у тебя всего два потока, один считает, а второй в это время ничего не делает, вхолостую крутит цикл обработки сообщения, то и почти все выделенное время будет использоваться тем самым работающим потоком.


Наверх

Титульная страница Поиск, карта сайта Написать письмо