ПредишенСледващото

Какво е поток?

Многонишковост на изпълнение в една програма, наречена нишки. По-точно поток - цикъл последователност или контрол е в процес. Всички програми, които сте виждали досега, единственият процес, извършени, въпреки че, подобно на много други операционни системи, Linux операционна система е напълно в състояние да изпълнява множество процеси едновременно. В действителност, всички процеси имат най-малко една нишка на изпълнение. Всички процеси, с които все още се срещнаха в тази книга, е имало само една нишка на изпълнение.

Важно е да се разбере разликата между призива на системата вилица и създаването на нови потоци. Когато един процес прави вилица система повикване, ново копие на процеса със собствени променливи и собствен PID. Изпълнението на този нов процес се планира и провежда независимо от него (най-вече), независимо от процеса, който го е създал. Когато създадете нова нишка в тази нишка на изпълнение, за разлика от новия процес, получава свой собствен стека (и следователно локални променливи), но го използва във връзка с създаден процеса на глобални променливи, описания на файлове, сигнални указатели и позицията на текущата директория.

Други проекти разглеждали възможността за подобряване на подкрепата за Linux нишката, по отношение не само премахването на слаби различия с стандартната-POSIX, и за подобряване работата и да премахнат ненужните ограничения. Основна работа е насочена към намиране на начини за показване теми на ниво потребител на ядрото на системата ниво на потока. Две големи проекти са ново поколение POSIX Threads (NGPT, потоци от ново поколение POSIX) и Тема библиотека Native POSIX (NPTL, библиотека вярно POSIX конци). И двата проекта е трябвало да прави промени в ядрото на Линукс, осигуряване на подкрепа за нови библиотеки, и двете предлагат значително увеличение на производителността в сравнение с предходната изпълнението нишка на Linux.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!