ВУЗ:
Составители:
70
1. Создание нового потока в уже существующем процессе занимает
намного меньше времени, чем создание совершенно нового процес-
са. Исследования, проведенные разработчиками операционной сис-
темы Mach, показали, что скорость создания процессов по сравне-
нию с такой же скоростью в UNIX-совместимых приложениях,
в которых не используются потоки, возрастает в 10 раз
2. Поток можно завершить намного быстрее, чем процесс.
3. Переключение потоков в рамках одного и того же процесса проис-
ходит намного быстрее.
4. При использовании потоков повышается эффективность обмена
информацией между двумя выполняющимися программами.
В большинстве операционных систем обмен между независимыми
процессами происходит с участием ядра, в функции которого вхо-
дит обеспечение защиты и механизма, необходимого для осуществ-
ления обмена. Однако благодаря тому, что различные потоки одно-
го и того же процесса используют одну и ту же область памяти и
одни и те же файлы, они могут обмениваться информацией без уча-
стия ядра.
Итак, если приложение или функцию нужно реализовать в виде набора
взаимосвязанных модулей, намного эффективнее реализовать ее в виде набора
потоков, чем в виде набора отдельных процессов.
Примером приложения, в котором можно удачно применить потоки, яв-
ляется файловый сервер. При получении каждого нового файлового запроса
программа управления файлами может порождать новый поток. Из-за того, что
серверу приходится обрабатывать очень большое количество запросов, за ко-
роткий промежуток времени будут создаваться и удаляться множество потоков.
Если такая серверная программа работает на многопроцессорной машине, то на
разных процессорах в рамках одного процесса могут одновременно выполнять-
ся несколько потоков. Кроме того, из-за того, что процессы или потоки файло-
вого сервера должны совместно использовать данные из файлов, а, следова-
тельно, координировать свои действия, рациональнее использовать потоки и
общую область памяти, а не процессы и обмен сообщениями.
Потоковая конструкция процесса полезна и на однопроцессорных маши-
нах. Она помогает упростить структуру программы, выполняющей несколько
логически различных функций.
Страницы
- « первая
- ‹ предыдущая
- …
- 68
- 69
- 70
- 71
- 72
- …
- следующая ›
- последняя »