Поток данных
В статье не хватает ссылок на источники (см. также рекомендации по поиску). |
В этой статье может быть слишком много ссылок на другие статьи, и, возможно, их количество нужно сократить. |
Поток данных (англ. stream) в программировании — абстракция, используемая для чтения или записи файлов, сокетов и т. п. в единой манере.
Потоки являются удобным унифицированным программным интерфейсом для чтения или записи файлов (в том числе специальных и, в частности, связанных с устройствами), сокетов и передачи данных между процессами.
Поддержка потоков включена в большинство языков программирования и едва ли не во все современные (на 2008 год) операционные системы.
При запуске процесса ему предоставляются предопределённые стандартные потоки.
Возможность перенаправления потоков позволяет связывать различные программы, и придаёт системе гибкость, являющуюся частью философии Unix.
Поток данных в программировании
Абстракция потока особенно важна в языке программирования Си, где он представляет собой источник ввода и/или вывода данных, обычно байтов, связанный с файлом, устройством, либо другим процессом. Работа с потоками перенесена во многие другие языки:
- C++: iostream из стандартной библиотеки C++.
- Языки платформы .NET Framework (например, C#): Base Class Library, пространство имен System.IO.
- В языках платформы Java потоки данных реализованы в пакете java.io.
Поток данных в операционных системах
Командная оболочка UNIX интенсивно использует абстракцию потока для совместного выполнения нескольких утилит.
Примечания
См. также