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