Поток (вычисления)
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
В информатике поток , — это последовательность потенциально неограниченных элементов данных доступных с течением времени. Поток можно рассматривать как элементы на конвейерной ленте , обрабатываемые по одному, а не большими партиями. Потоки обрабатываются иначе, чем пакетные данные .
Обычные функции не могут работать с потоками в целом, поскольку они содержат потенциально неограниченные данные. Формально потоки — это кодаты (потенциально неограниченные), а не данные (которые конечны).
Функции, которые работают с потоком, создающим другой поток, известны как фильтры и могут быть подключены в конвейеры аналогично композиции функций . Фильтры могут работать с одним элементом потока одновременно или могут основывать элемент вывода на нескольких элементах ввода, например, на скользящем среднем .
Примеры
[ редактировать ]Термин «поток» используется по-разному:
- «Потоковое редактирование», как в случае с sed , awk и perl . Потоковое редактирование обрабатывает файл или файлы на месте, без необходимости загрузки файлов в пользовательский интерфейс. Одним из примеров такого использования является поиск и замена всех файлов в каталоге из командной строки.
- В Unix и родственных системах, основанных на языке C , поток — это источник или приемник данных, обычно отдельных байтов или символов . Потоки — это абстракция, используемая при чтении или записи файлов, а также при обмене данными через сетевые сокеты . Стандартные потоки — это три потока, доступные для всех программ.
- Устройства ввода-вывода можно интерпретировать как потоки, поскольку они производят или потребляют потенциально неограниченные данные с течением времени.
- В объектно-ориентированном программировании входные потоки обычно реализуются как итераторы .
- В языке Scheme и некоторых других поток — это лениво вычисляемая или задержанная последовательность элементов данных. Поток можно использовать аналогично списку, но последующие элементы вычисляются только при необходимости. Таким образом, потоки могут представлять бесконечные последовательности и серии . [1]
- В Smalltalk стандартной библиотеке , а также в других языках программирования поток является внешним итератором . Как и в Scheme, потоки могут представлять конечные или бесконечные последовательности.
- Потоковая обработка — при параллельной обработке , особенно при графической обработке, термин «поток» применяется как к аппаратному обеспечению, так и к программному обеспечению . Там он определяет квазинепрерывный поток данных, который обрабатывается на языке программирования потоков данных, как только состояние программы соответствует начальному условию потока.
Приложения
[ редактировать ]Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( февраль 2014 г. ) |
Потоки могут использоваться в качестве базового типа данных для каналов межпроцессного взаимодействия .
Другое использование
[ редактировать ]Термин «поток» также применяется к файловой системы развилкам , где несколько наборов данных связаны с одним именем файла. Чаще всего существует один основной поток, который составляет обычные данные файла, а дополнительные потоки содержат метаданные . Здесь «поток» используется для обозначения «данных переменного размера», в отличие от метаданных фиксированного размера, таких как расширенные атрибуты , но отличается от «потока», который используется в противном случае, что означает «данные, доступные с течением времени, потенциально бесконечные».
См. также
[ редактировать ]- Битстрим
- Кодаты
- Поток данных
- Интеллектуальный анализ потока данных
- Поток трафика (компьютерные сети)
- Сетевая розетка
- Алгоритм потоковой передачи
- Потоковое мультимедиа
- Потоковая обработка