![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как изменить приоритет основного потока [D5]
Kost © (2004-09-30 06:41:00)Здравствуйте.
Основной поток приложения осуществляет некоторый цикл работы с файлами.
Необходимо создать паралельный поток для выполнения других действий. Однако даже при установке самого высокого приоритета для создаваемого потока, основной поток все равно преобладает и
создаваемый поток вообще не выполняется. Можно ли уменьшить приоритет основного потока или как-либо по-другому решить этот вопрос?
Спасибо.
Erik1 (2004-09-30 12:28:00) [1]PHandle := GetCurrentProcess;
SetPriorityClass(PHandle, REALTIME_PRIORITY_CLASS);
SetThreadPriority(handle to the thread, THREAD_PRIORITY_TIME_CRITICAL)
После это получиш от системы все, что можно. Просто офигееш! :)
KSergey (2004-09-30 12:00:00) [2]> [2] Kost © (30.09.04 07:11)
> Спасибо, но по объективным причинам этот вариант не возможен.
Вот тут как раз и ошибка
KSergey (2004-09-30 12:00:00) [3]> [2] Kost © (30.09.04 07:11)
> Спасибо, но по объективным причинам этот вариант не возможен.
Вот тут как раз и ошибка
Digitman (2004-09-30 11:29:00) [4]
> Kost © (30.09.04 07:11) [2]
> по объективным причинам этот вариант не возможен.
можно полюбопытствовать, что это за причины ?
Fedia (2004-09-30 08:48:00) [5]Попробуй следующее:
var
MainThread: THandle;
begin
MainThread := GetCurrentThread;
SetThreadPriority(MainThread, THREAD_PRIORITY_IDLE);
end;
Или же прерывай работу основного потока на время работы дополнительного.
Kost (2004-09-30 07:11:00) [6]Спасибо, но по объективным причинам этот вариант не возможен.
Fedia (2004-09-30 07:08:00) [7]>или как-либо по-другому решить этот вопрос?
Можно выполнять этот "цикл работы с файлами" не в основном, а также в дополнительном потоке.