Программные потоки

В традиционных операционных системах у каждого процесса есть адресное пространство и один поток управления. Тем не менее, нередко возникают ситуации, в которых желательно иметь несколько потоков управления, квазипараллельно выполняющихся в одном адресном пространстве так, как будто они представляют собой отдельные процессы (за исключением общности адресного пространства). Такие потоки управления называются программными потоками, или легковесными процессами.

На рис. 3.2.а представлены три обычных процесса. Каждый из них имеет собственное адресное пространство и единственный поток управления. На рис. 3.2.б представлен один процесс – с тремя потоками управления. В обоих случаях присутствуют три программных потока, но в первом случае каждый из них имеет собственное адресное пространство, а во втором – программные потоки имеют общую память.

Рис. 3.2. Модель программных потоков: а – три процесса с собственным программным потоком каждый; б – один процесс с тремя потоками

 

В качестве примера приложения, рассчитанного на многопоточность, можно привести веб-браузер. Веб-страницы часто содержат множество картинок небольшого размера. Для загрузки каждой из них браузер должен установить отдельное соединение с сайтом. Установка и разрыв соединения отнимают много времени. При поддержке браузером многопоточности можно загружать несколько картинок одновременно, что значительно ускоряет загрузку страницы. Для небольших изображений установка соединений занимает гораздо больше времени, чем передача данных.








Дата добавления: 2014-12-13; просмотров: 1645;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.