Поток (вычисления)
редактировать
Для получения более теоретической концепции в области информатики см.
Stream (информатика).
Стандартные потоки для ввода, вывода и ошибок
В информатике, поток представляет собой последовательность из элементов данных доступны в течение долгого времени. Поток можно рассматривать как элементы на конвейерной ленте, обрабатываемые по одному, а не большими партиями.
Потоки обрабатываются иначе, чем пакетные данные - обычные функции не могут работать с потоками в целом, поскольку они имеют потенциально неограниченные данные, и формально потоки являются кодовыми (потенциально неограниченными), а не данными (которые конечны). Функции, которые работают с потоком, создавая другой поток, известны как фильтры и могут быть связаны в конвейеры, аналогично композиции функций. Фильтры могут работать с одним элементом потока за раз или могут основывать элемент вывода на нескольких элементах ввода, таких как скользящее среднее.
Содержание
- 1 Примеры
- 2 Приложения
- 3 Другое использование
- 4 См. Также
- 5 ссылки
- 6 Внешние ссылки
Примеры
Термин «поток» используется во многих подобных случаях:
- «Потоковое редактирование», как в случае с sed, awk и perl. При потоковом редактировании файл или файлы обрабатываются на месте без необходимости загружать файл (ы) в пользовательский интерфейс. Одним из примеров такого использования является поиск и замена всех файлов в каталоге из командной строки.
- В Unix и связанных системах, основанных на языке C, поток является источником или приемником данных, обычно отдельных байтов или символов. Потоки - это абстракция, используемая при чтении или записи файлов или при обмене данными через сетевые сокеты. В стандартных потоках три потока предоставляется все программы.
- Устройства ввода-вывода можно интерпретировать как потоки, поскольку они производят или потребляют потенциально неограниченные данные с течением времени.
- В объектно-ориентированном программировании входные потоки обычно реализуются как итераторы.
- На языке Scheme и некоторых других поток - это последовательность элементов данных с отложенной оценкой или задержкой. Поток можно использовать аналогично списку, но более поздние элементы вычисляются только при необходимости. Следовательно, потоки могут представлять бесконечные последовательности и серии.
- В стандартной библиотеке Smalltalk, а также в других языках программирования поток является внешним итератором. Как и в схеме, потоки могут представлять конечные или бесконечные последовательности.
- Потоковая обработка - в параллельной обработке, особенно в графической, термин поток применяется как к аппаратному обеспечению, так и к программному обеспечению. Там он определяет квазинепрерывный поток данных, который обрабатывается на языке программирования потока данных, как только состояние программы соответствует начальному условию потока.
Приложения
Потоки могут использоваться в качестве базового типа данных для каналов при межпроцессном взаимодействии.
Другое использование
Термин «поток» также применяется к разветвлениям файловой системы, где несколько наборов данных связаны с одним именем файла. Чаще всего есть один основной поток, который составляет обычные данные файла, а дополнительные потоки содержат метаданные. Здесь «поток» используется для обозначения «данных переменного размера», в отличие от метаданных фиксированного размера, таких как расширенные атрибуты, но отличается от «потока», который используется в противном случае, что означает «данные, доступные с течением времени, потенциально бесконечные».
Смотрите также
Рекомендации
внешние ссылки