स्ट्रीम (कंप्यूटिंग)

कंप्यूटर विज्ञान में, समय के साथ उपलब्ध कराए गए डेटा तत्वों का क्रम एक प्रवाह है। कन्वेयर बेल्ट पर वस्तुओं के रूप में प्रवाह के बारे में  बड़े बैचों के बजाय एक समय में एक संसाधित किया जा सकता है।

स्ट्रीम को प्रचय संसाधन  से अलग तरीके से प्रोसेस किया जाता है - सामान्य फ़ंक्शन पूरी तरह से स्ट्रीम पर काम नहीं कर सकते, क्योंकि उनके पास संभावित रूप से असीमित डेटा होता है, और औपचारिक रूप से, स्ट्रीम 'कोडाटा (कंप्यूटर विज्ञान) (संभावित रूप से असीमित) होती हैं, न कि डेटा (जो परिमित है) ). ऐसे कार्य जो एक प्रवाह पर संचालित होते हैं, दूसरी प्रवाह का निर्माण करते हैं, फ़िल्टर (सॉफ्टवेयर) के रूप में जाने जाते हैं, और उन्हें पाइपलाइन (कंप्यूटिंग) में जोड़ा जा सकता है, समान रूप से फ़ंक्शन रचना (कंप्यूटर विज्ञान) के लिए। फिल्टर एक समय में एक स्ट्रीम के एक आइटम पर काम कर सकते हैं, या आउटपुट के एक आइटम को इनपुट के कई मदों पर आधारित कर सकते हैं, जैसे चलती औसत।

उदाहरण
प्रवाह शब्द का प्रयोग कई समान तरीकों से किया जाता है:
 * प्रवाह संपादन, जैसा कि sed, awk और perl के साथ होता है। स्ट्रीम संपादन किसी फ़ाइल या फ़ाइलों को उपयोगकर्ता इंटरफ़ेस में फ़ाइल (फ़ाइलों) को लोड किए बिना, इन-प्लेस संसाधित करता है। इस तरह के उपयोग का एक उदाहरण कमांड लाइन से एक डायरेक्टरी में सभी फाइलों को खोजना और बदलना है।
 * सी (प्रोग्रामिंग भाषा) पर आधारित यूनिक्स और संबंधित प्रणालियों पर, एक प्रवाह डेटा का एक स्रोत या सिंक (कंप्यूटिंग) है, आमतौर पर व्यक्तिगत बाइट्स या चरित्र (कंप्यूटिंग) । स्ट्रीम एक सार है जिसका उपयोग फ़ाइलों को पढ़ने या लिखने, या नेटवर्क सॉकेट्स पर संचार करते समय किया जाता है। मानक प्रवाहएँ सभी कार्यक्रमों के लिए उपलब्ध कराई गई तीन प्रवाहएँ हैं।
 * I/O उपकरणों को स्ट्रीम के रूप में व्याख्यायित किया जा सकता है, क्योंकि वे समय के साथ संभावित असीमित डेटा का उत्पादन या उपभोग करते हैं।
 * ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में, इनपुट स्ट्रीम को आम तौर पर इटरेटर के रूप में लागू किया जाता है।
 * स्कीम (प्रोग्रामिंग लैंग्वेज) और कुछ अन्य में, एक स्ट्रीम एक आलसी मूल्यांकन या डेटा तत्वों का विलंबित क्रम है। एक सूची के समान एक प्रवाह का उपयोग किया जा सकता है, लेकिन बाद के तत्वों की गणना केवल तभी की जाती है जब आवश्यक हो। प्रवाहएँ इसलिए अनंत अनुक्रमों और श्रृंखला (गणित) का प्रतिनिधित्व कर सकती हैं।
 * स्मॉलटाक मानक पुस्तकालय और अन्य प्रोग्रामिंग भाषाओं में भी, एक प्रवाह एक बाहरी पुनरावर्तक है। जैसा कि योजना में है, प्रवाहएँ परिमित या अनंत अनुक्रमों का प्रतिनिधित्व कर सकती हैं।
 * स्ट्रीम प्रोसेसिंग - समानांतर कंप्यूटिंग में, विशेष रूप से ग्राफिक प्रोसेसिंग में, शब्द स्ट्रीम कंप्यूटर हार्डवेयर के साथ-साथ सॉफ़्टवेयर  पर भी लागू होता है। वहां यह डेटा के अर्ध-निरंतर प्रवाह को परिभाषित करता है जिसे डेटा प्रवाह प्रोग्रामिंग भाषा में संसाधित किया जाता है जैसे ही कार्यक्रम राज्य स्ट्रीम की प्रारंभिक स्थिति को पूरा करती है।

अनुप्रयोग
इंटरप्रोसेस संचार में चैनल (प्रोग्रामिंग) के लिए अंतर्निहित डेटा प्रकार के रूप में स्ट्रीम का उपयोग किया जा सकता है।

अन्य उपयोग
टर्म स्ट्रीम को फाइल सिस्टम कांटा (फाइल सिस्टम)  पर भी लागू किया जाता है, जहां डेटा के कई सेट एक फ़ाइल नाम से जुड़े होते हैं। अक्सर, एक मुख्य प्रवाह होती है जो सामान्य फ़ाइल डेटा बनाती है, जबकि अतिरिक्त प्रवाहओं में मेटाडेटा एन्कोडिंग और ट्रांसमिशन मानक होते हैं। यहां स्ट्रीम का उपयोग चर आकार के डेटा को इंगित करने के लिए किया जाता है, जैसा कि निश्चित आकार के मेटाडेटा जैसे विस्तारित फ़ाइल विशेषताओं के विपरीत होता है, लेकिन अन्यथा उपयोग किए जाने वाले स्ट्रीम से भिन्न होता है, जिसका अर्थ है समय के साथ उपलब्ध डेटा, संभावित रूप से अनंत।

यह भी देखें

 * बिटस्ट्रीम
 * कोडाटा (कंप्यूटर विज्ञान)
 * आकड़ों का प्रवाह
 * डेटा स्ट्रीम खनन
 * प्रवाह (कंप्यूटर नेटवर्किंग)
 * नेटवर्क सॉकेट
 * स्ट्रीमिंग एल्गोरिथ्म
 * स्ट्रीमिंग मीडिया
 * स्ट्रीम प्रोसेसिंग

बाहरी संबंध

 * An Approximate L1-Difference Algorithm for Massive Data Streams, 1995 Feigenbaum et al.

ストリーム (プログラミング) Поток данных Stream