Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Вниз

Мысль о процессах   Найти похожие ветки 

 
Shastox ©   (2006-02-17 21:55) [0]

Как пишет Дж. Рихтер, процессам присуще свойство "инертности", это я понимаю так: создаем простую программу, например по сканированию дирректорий на наличие файлов, и делаем кнопку стоп. Если нажать кнопку "Стоп", то процесс остановится не сразу, а через некоторое время, так как поток один.
 На однопроцессорной машине Windows, как известно, "псевдомногозадачна", т.е. процессорное время распределяется на все процессы, с учетом их приоритета, что происходит очень быстро и мы этого не знамечаем (например можно слушать музыку и одновременно играть в 3D игру, тормозов в музыке не заметим), если время распределяется с такой большой скоростью, откуда же возникает эта инертность?


 
kaZaNoVa ©   (2006-02-17 22:02) [1]

есть пример кода?


 
Игорь Шевченко ©   (2006-02-17 22:14) [2]


> Как пишет Дж. Рихтер, процессам присуще свойство "инертности"


Желательно цитату из первоисточника :)


> простую программу, например по сканированию дирректорий
> на наличие файлов, и делаем кнопку стоп. Если нажать кнопку
> "Стоп", то процесс остановится не сразу, а через некоторое
> время, так как поток один.


Разумно, ему же подумать надо :)


 
Shastox ©   (2006-02-17 22:20) [3]


> есть пример кода?

Не совсем понял, этого:
 
 > например по сканированию дирректорий на наличие файлов,
 

...нету, но тут вроде все понятно: делаем цикл и выход из него, if stopped=true, а по нажатию кнопки стоп делаем stopped:=true;


> Желательно цитату из первоисточника :)

Издание четвретое (русское), страница 48: "Процессы инертны".

> Разумно, ему же подумать надо :)

О чем ?:)


 
Игорь Шевченко ©   (2006-02-17 22:32) [4]

Shastox ©   (17.02.06 22:20) [3]


>  страница 48: "Процессы инертны".


Боюсь, что раньше вечера понедельника у меня не получится прочитать, поэтому желательно привести. Хотя бы тезисно.


> О чем ?:)


Останавливаться или нет :)


 
kaZaNoVa ©   (2006-02-17 22:33) [5]

Shastox ©   (17.02.06 22:20) [3]
...нету, но тут вроде все понятно: делаем цикл и выход из него, if stopped=true, а по нажатию кнопки стоп делаем stopped:=true;


если поток один - и не processmessages  - то и не остановится ..

а если сканирование в другом потоке и обращение к переменной сделано через критическую секцию, то имхо сразу 100% остановится


 
Игорь Шевченко ©   (2006-02-17 22:38) [6]

kaZaNoVa ©   (17.02.06 22:33) [5]

Ты бы Рихтера почитал, что ли...И тебе полезнее и обществу.


 
kaZaNoVa ©   (2006-02-17 22:41) [7]

практика критерий истины:)


 
Shastox ©   (2006-02-17 22:49) [8]


> Боюсь, что раньше вечера понедельника у меня не получится
> прочитать, поэтому желательно привести. Хотя бы тезисно.
>

Там кроме этих слов ничего больше не сказано про инертность. Вот ссылка на эту и другую страницу в формате jpg (сканера не было под рукой)
http://www.xsh.by.ru/book.zip ~170 килобайт


> а если сканирование в другом потоке и обращение к переменной
> сделано через критическую секцию, то имхо сразу 100% остановится

Этому прямое подтверждение - WinRar при распакове или упаковке.
Но если поток один, то..., чувствую этого мне не понять...


 
Игорь Шевченко ©   (2006-02-17 22:57) [9]

Shastox ©   (17.02.06 22:49) [8]

Рихтер имел в виду, что процессы сами по себе ничего не делают, а делают потоки. Процессы служат только контейнерами для адресного пространства, описателей объектов и т.д.

Дословно: "Процессы инертны. Чтобы процесс что-то выполнил, в нем нужно создать поток".

С наилучшими,


 
Shastox ©   (2006-02-17 23:05) [10]


> "Процессы инертны. Чтобы процесс что-то выполнил, в нем
> нужно создать поток".

А что означают жирные слова?


 
Eraser ©   (2006-02-17 23:07) [11]


> Shastox ©   (17.02.06 23:05) [10]

в учебнике по физике или химии должны быть описаны эти термины :)


 
Shastox ©   (2006-02-17 23:11) [12]


> в учебнике
> по физике

или химии должны быть описаны эти термины
> :)

Ага, еще на первом семестре проходили...


 
Игорь Шевченко ©   (2006-02-17 23:14) [13]


> А что означают жирные слова?


Что процесс сам по себе ничего не делает.

<Offtopic>
Неужели сфотографировать страницу, отметить на ней место, выложить ее в сеть, занимает меньше времени и сил, чем аккуратное цитирование абзаца ?
</Offtopic>


 
Eraser ©   (2006-02-17 23:18) [14]


> Shastox ©   (17.02.06 23:11) [12]

ну вот! тут то же самое только в кибернетике )


 
Shastox ©   (2006-02-17 23:36) [15]

Еще один offtopic:
{{{

> Неужели сфотографировать страницу, отметить на ней место,
>  выложить ее в сеть, занимает меньше времени и сил, чем
> аккуратное цитирование абзаца ?

Достать фотоаппарат - 10 секунд.
Сфоткать-15 секунд.
Немного изменить фото - 25 секунд
Выложить на сайт - 5 секунд.
______________
                  55 секунд

Перепечатать + исправить ошибки ~  3-6 минуты.
}}}

> Что процесс сам по себе ничего не делает.

А не проще было так и написать?


 
Ученик чародея ©   (2006-02-17 23:36) [16]

>>Игорь Шевченко ©   (17.02.06 22:38) [6]

Рекомендую почитать архитектуру 386... полезнее.


 
Игорь Шевченко ©   (2006-02-18 00:12) [17]

Ученик чародея ©   (17.02.06 23:36) [16]

С какой целью, если не секрет ?

Shastox ©   (17.02.06 23:36) [15]


> Перепечатать + исправить ошибки ~  3-6 минуты


Сочувствую. У меня выделенное место напечатать получилось гораздо быстрее.


> А не проще было так и написать?


Об этом Рихтер написал, достаточно прочитать. Язык вроде русский.



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

Форум: "Прочее";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.012 c
9-1126069315
4ECHOK
2005-09-07 09:01
2006.03.12
Сценарий поведения объекта.


11-1121302017
stals
2005-07-14 04:46
2006.03.12
exe-шник (? kb)


2-1140768616
evgenij_
2006-02-24 11:10
2006.03.12
Русский хелп для Дельфина


3-1137195418
001
2006-01-14 02:36
2006.03.12
Как мне связать 3 таблицы?


2-1140631346
Volf_555
2006-02-22 21:02
2006.03.12
Как изменить функцию InputQuery, не переписывая её полностью?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский