Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2010, 07:34   #1
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию О приоритетах потоков и процессов

Всем привет.
Меня вообще мучает один вопрос.

Вот почему, когда например, выполняется конвертирование видео или сжатие архива, или ещё какая-то "энергоёмкая" операция, другие приложения начинают тормозить, несмотря на то, что у ихних процессов такой-же приоритет (normal)?

Как я понял, приоритет потока формируется исходя из его относительного приоритета (для данного процесса) и приоритета процесса.

Это что-то планировщик потоков Windows мудрит, а?

Последний раз редактировалось Altera; 30.04.2010 в 07:40.
Altera вне форума Ответить с цитированием
Старый 30.04.2010, 08:01   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Вытесняющая мультизадачность – это такой режим работы ОС, когда операционная система в любой момент времени может приостановить развитие активного процесса, сохранив его состояние во внешней памяти ("вытеснить" процесс), и активизировать вместо него другой процесс.
Особенно когда дело касается ресурсов - файлов, обращение к устройствам и т.д.
На практике тоже замечал странности, например, если окно проги развернуто, то оно выполняется быстрей. Аналогично если среди нескольких окон одно из них активно, оно также будет работать быстрей неактивных. Особенно заметно на медленных машинах.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 30.04.2010, 09:49   #3
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Неразделяемый ресурс
занят ответ на все вопросы. Т.е. к ресурсу системы, который в данный момент загружен, не может получить доступ другое приложение (ну или сама система), а значит это требует некого временного интервала для ожидания окончания текущих операций данного ресурса, вот вам и задержка.
BOBAH13 вне форума Ответить с цитированием
Старый 30.04.2010, 13:12   #4
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Аналогично если среди нескольких окон одно из них активно, оно также будет работать быстрей неактивных. Особенно заметно на медленных машинах.
Не знаю, как на Линуксе, но в винда понижает приоритет свёрнутых программ.

Чтобы компьютер не тормозил достаточно (теоретически) понизить приоритет архиватора на 1.
ds.Dante вне форума Ответить с цитированием
Старый 30.04.2010, 13:29   #5
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

Планирование осуществляется на основе текущего приоритета, он определяется не классом приоритета, а номером очереди в котором выполнятся поток. В планировании Windows есть такая особенность- сценарий для интерактивных приложений: если поток связан с процессом, который выполняется в активном окне, то в момент ативации окна, приоритет потока повышается на 2 относительно текущего, затем приоритет постепенно понижается
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 30.04.2010, 13:30   #6
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

кстати в серверных версиях винды тоже самое и с приложениями работающими с сетью
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 30.04.2010, 19:47   #7
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Да, ну в принципе всё понятно. Вообще планировщик не документируется, знать странный очень. Спасибо всем. Если ещё будут вопросы отпишусь....
Altera вне форума Ответить с цитированием
Старый 30.04.2010, 19:48   #8
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

все очень даже хорошо описано в книге Руссиновича, самая лучшая и полная книга о Windows
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 30.04.2010, 20:38   #9
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

В винде планировщик работает чёрт-знает как, и долбается с ним майкрософт уже не первый год, судя по тому, что структуры PEB, TEB и т.п. отличаются даже у разных билдов, что уж там говорить о разных версиях.

Пара занимательных статей
http://www.dtf.ru/articles/read.php?id=39888
http://www.dtf.ru/articles/read.php?id=40520
пыщь
JTG вне форума Ответить с цитированием
Старый 01.05.2010, 10:41   #10
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Я начал читать Windows internals, действительно хорошая книга. Дочитаю обязательно.
Altera вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Остановка потоков по ID steelforce Общие вопросы Delphi 2 24.01.2010 16:50
Исследование диспетчеризации процессов и потоков Наталья111 Помощь студентам 1 06.01.2010 23:06
монитор процессов и потоков на делфи Танка Помощь студентам 1 29.05.2009 16:41
Использование потоков Repz Общие вопросы Delphi 6 25.01.2008 14:20
Несколько потоков Adm Общие вопросы Delphi 13 18.01.2008 20:04