नवीनतम लेख
घर / इंटरनेट / एनीमिया चर्चा सूत्र php. PHP में मल्टीथ्रेडेड कंप्यूटिंग: pthreads। पाथ्रेड क्या हैं

एनीमिया चर्चा सूत्र php. PHP में मल्टीथ्रेडेड कंप्यूटिंग: pthreads। पाथ्रेड क्या हैं

ऐसा लगता है कि PHP डेवलपर्स शायद ही कभी समवर्ती का उपयोग करते हैं। मैं सिंक्रोनस कोड की सरलता के बारे में बात नहीं करूंगा; सिंगल-थ्रेडेड प्रोग्रामिंग, निश्चित रूप से, सरल और स्पष्ट है, लेकिन कभी-कभी छोटा उपयोगसमानता महत्वपूर्ण प्रदर्शन सुधार ला सकती है।

इस लेख में, हम देखेंगे कि pthreads एक्सटेंशन का उपयोग करके PHP में मल्टीथ्रेडिंग कैसे प्राप्त की जा सकती है। ऐसा करने के लिए, आपको PHP 7.x के ZTS (ज़ेंड थ्रेड सेफ्टी) संस्करण को स्थापित करने की आवश्यकता होगी, साथ ही स्थापित एक्सटेंशन pthreads v3. (लेखन के समय, PHP 7.1 में, उपयोगकर्ताओं को pthreads रिपॉजिटरी में मास्टर शाखा से इंस्टॉल करना होगा - तृतीय पक्ष एक्सटेंशन देखें।)

एक छोटा सा स्पष्टीकरण: pthreads v2 PHP 5.x के लिए है और अब समर्थित नहीं है, pthreads v3 PHP 7.x के लिए है और सक्रिय रूप से विकसित किया जा रहा है।

इस विषयांतर के बाद, आइए सीधे मुद्दे पर आते हैं!

एकमुश्त कार्यों का प्रसंस्करण

कभी-कभी आप एक-बार के कार्यों को बहु-थ्रेडेड तरीके से संसाधित करना चाहते हैं (उदाहरण के लिए, कुछ I/O-बाउंड कार्य निष्पादित करना)। ऐसे मामलों में, आप एक नया थ्रेड बनाने और एक अलग थ्रेड पर कुछ प्रोसेसिंग चलाने के लिए थ्रेड क्लास का उपयोग कर सकते हैं।

उदाहरण के लिए:

$ कार्य = नई कक्षा थ्रेड का विस्तार करती है (निजी $ प्रतिक्रिया; सार्वजनिक फ़ंक्शन रन() ($ सामग्री = फ़ाइल_get_contents ("http://google.com"); preg_match ("~ (.+)~", $सामग्री, $मिलान); $यह->प्रतिक्रिया = $मिलान; ) ); $कार्य->प्रारंभ() && $कार्य->जुड़ें(); var_dump($कार्य->प्रतिक्रिया); // स्ट्रिंग (6) "गूगल"

यहां रन विधि हमारी प्रोसेसिंग है, जिसे एक नए थ्रेड के अंदर निष्पादित किया जाएगा। जब थ्रेड::स्टार्ट को कॉल किया जाता है, तो एक नया थ्रेड उत्पन्न होता है और रन विधि को कॉल किया जाता है। फिर हम Thread::join पर कॉल करके चाइल्ड थ्रेड को वापस मुख्य थ्रेड से जोड़ते हैं, जो तब तक ब्लॉक रहेगा जब तक चाइल्ड थ्रेड का निष्पादन समाप्त नहीं हो जाता। यह सुनिश्चित करता है कि परिणाम मुद्रित करने का प्रयास करने से पहले कार्य निष्पादित हो जाता है (जो $task->response में संग्रहीत होता है)।

प्रवाह तर्क से जुड़ी अतिरिक्त जिम्मेदारियों (रन विधि को परिभाषित करने की जिम्मेदारी सहित) के साथ एक वर्ग को प्रदूषित करना वांछनीय नहीं हो सकता है। हम ऐसे वर्गों को थ्रेडेड वर्ग से विरासत में प्राप्त करके अलग कर सकते हैं। फिर उन्हें दूसरे थ्रेड के अंदर चलाया जा सकता है:

क्लास टास्क थ्रेडेड (सार्वजनिक $प्रतिक्रिया; सार्वजनिक फ़ंक्शन someWork() ($content = file_get_contents('http://google.com'); preg_match('~ (.+) ~', $content, $matches); $ का विस्तार करता है। यह->प्रतिक्रिया = $मिलान; ) ) $कार्य = नया कार्य; $थ्रेड = नया वर्ग($टास्क) थ्रेड का विस्तार करता है (निजी $टास्क; सार्वजनिक फ़ंक्शन __construct(थ्रेडेड $टास्क) ( $यह->टास्क = $टास्क; ) सार्वजनिक फ़ंक्शन रन() ($यह->टास्क->कुछ काम( ); ) ); $thread->start() && $thread->join(); var_dump($कार्य->प्रतिक्रिया);

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

आइए pthreads एक्सटेंशन द्वारा प्रस्तुत वर्ग पदानुक्रम पर एक नज़र डालें:

थ्रेडेड (ट्रैवर्सेबल, संग्रहणीय लागू करता है) थ्रेड वर्कर वोलेटाइल पूल

हमने थ्रेड और थ्रेडेड कक्षाओं की मूल बातें पहले ही कवर कर ली हैं और सीख ली हैं, अब आइए अन्य तीन (वर्कर, वोलेटाइल और पूल) पर एक नज़र डालें।

धागों का पुन: उपयोग करना

प्रत्येक कार्य के लिए एक नया थ्रेड शुरू करना जिसे समानांतर करने की आवश्यकता है, काफी महंगा है। ऐसा इसलिए है क्योंकि PHP के भीतर मल्टीथ्रेडिंग प्राप्त करने के लिए एक सामान्य-कुछ भी नहीं आर्किटेक्चर को pthreads में लागू किया जाना चाहिए। जिसका अर्थ है कि PHP दुभाषिया के वर्तमान उदाहरण (प्रत्येक वर्ग, इंटरफ़ेस, विशेषता और फ़ंक्शन सहित) के संपूर्ण निष्पादन संदर्भ को बनाए गए प्रत्येक थ्रेड के लिए कॉपी किया जाना चाहिए। क्योंकि इसका प्रदर्शन पर उल्लेखनीय प्रभाव पड़ता है, इसलिए जब भी संभव हो स्ट्रीम का हमेशा पुन: उपयोग किया जाना चाहिए। थ्रेड्स का पुन: उपयोग दो तरीकों से किया जा सकता है: वर्कर्स का उपयोग करना या पूल का उपयोग करना।

वर्कर क्लास का उपयोग किसी अन्य थ्रेड के भीतर कई कार्यों को समकालिक रूप से करने के लिए किया जाता है। यह एक नया वर्कर इंस्टेंस (जो एक नया थ्रेड बनाता है) बनाकर किया जाता है, और फिर कार्यों को उस अलग थ्रेड के स्टैक पर धकेल दिया जाता है (वर्कर::स्टैक का उपयोग करके)।

यहाँ एक छोटा सा उदाहरण है:

क्लास टास्क थ्रेडेड (निजी $मूल्य; सार्वजनिक फ़ंक्शन __construct(int $i) ($this->value = $i; ) सार्वजनिक फ़ंक्शन रन() (usleep(250000); इको "टास्क: ($this->वैल्यू) का विस्तार करता है \n"; ) ) $कार्यकर्ता = नया कार्यकर्ता(); $कार्यकर्ता->प्रारंभ(); for ($i = 0; $i stack(new Task($i)); ) while ($worker->collect()); $कार्यकर्ता->शटडाउन();

उपरोक्त उदाहरण में, एक नए $worker ऑब्जेक्ट के लिए 15 कार्यों को Worker::stack विधि के माध्यम से स्टैक पर धकेला जाता है, और फिर उन्हें उसी क्रम में संसाधित किया जाता है जिस क्रम में उन्हें धकेला गया था। वर्कर::कलेक्ट विधि, जैसा कि ऊपर दिखाया गया है, का उपयोग कार्यों को निष्पादित करने के तुरंत बाद साफ़ करने के लिए किया जाता है। इसके साथ, थोड़ी देर के लूप के अंदर, हम मुख्य थ्रेड को तब तक ब्लॉक करते हैं जब तक कि स्टैक पर सभी कार्य पूरे नहीं हो जाते और साफ़ नहीं हो जाते - इससे पहले कि हम Worker::shutdown को कॉल करें। किसी कार्यकर्ता को जल्दी समाप्त करना (अर्थात जब कार्य अभी भी पूरे होने बाकी हैं) तब भी मुख्य थ्रेड को अवरुद्ध कर दिया जाएगा जब तक कि सभी कार्यों का निष्पादन पूरा नहीं हो जाता है, बस कार्य कचरा एकत्र नहीं किया जाएगा (जिसमें मेमोरी लीक का प्रतिनिधित्व होता है)।

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

एकाधिक कार्यों में थ्रेड का पुन: उपयोग करने का दूसरा तरीका थ्रेड पूल (पूल क्लास के माध्यम से) का उपयोग करना है। थ्रेड पूल कार्यों को निष्पादित करने में सक्षम बनाने के लिए श्रमिकों के एक समूह का उपयोग करता है इसके साथ ही, जिसमें पूल बनाते समय समवर्ती कारक (पूल थ्रेड्स की संख्या जिसके साथ यह संचालित होता है) सेट किया जाता है।

आइए उपरोक्त उदाहरण को श्रमिकों के एक समूह का उपयोग करने के लिए अनुकूलित करें:

क्लास टास्क थ्रेडेड (निजी $मूल्य; सार्वजनिक फ़ंक्शन __construct(int $i) ($this->value = $i; ) सार्वजनिक फ़ंक्शन रन() (usleep(250000); इको "टास्क: ($this->वैल्यू) का विस्तार करता है \n"; ) ) $पूल = नया पूल(4); के लिए ($i = 0; $i सबमिट(नया कार्य($i)); ) जबकि ($pool->collect()); $पूल->शटडाउन();

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

श्रमिकों और पूलों के लिए यह एक अच्छा अभ्यास है कि वे अपने कार्यों को पूरा होते ही तुरंत साफ करें और फिर उन्हें स्वयं मैन्युअल रूप से समाप्त करें। थ्रेड क्लास का उपयोग करके बनाए गए थ्रेड को भी मूल थ्रेड से जोड़ा जाना चाहिए।

pthreads और (im) परिवर्तनशीलता

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

आइए एक उदाहरण देखें जो नई अपरिवर्तनीयता प्रतिबंधों को प्रदर्शित करेगा:

क्लास टास्क थ्रेडेड का विस्तार करता है // एक थ्रेडेड क्लास (सार्वजनिक फ़ंक्शन __construct() ($this->data = new Threaded(); // $this->डेटा ओवरराइट करने योग्य नहीं है, क्योंकि यह थ्रेडेड क्लास की थ्रेडेड प्रॉपर्टी है)) $task = new class(new Task()) थ्रेड (//एक थ्रेडेड क्लास) का विस्तार करता है, क्योंकि थ्रेड थ्रेडेड सार्वजनिक फ़ंक्शन __construct($tm) का विस्तार करता है ( $this->threadedMember = $tm; var_dump($this->threadedMember-> डेटा); // ऑब्जेक्ट(थ्रेडेड)#3 (0) () $this->threadedMember = new StdClass(); चूंकि प्रॉपर्टी थ्रेडेड क्लास का थ्रेडेड सदस्य है));

दूसरी ओर, अस्थिर वर्गों के थ्रेडेड गुण परिवर्तनशील हैं:

क्लास टास्क अस्थिर का विस्तार करता है (सार्वजनिक फ़ंक्शन __construct() ($this->data = new threaded(); $this->data = new StdClass(); // मान्य, क्योंकि हम एक अस्थिर वर्ग में हैं)) $task = new क्लास(नया टास्क()) थ्रेड का विस्तार करता है (सार्वजनिक फ़ंक्शन __construct($vm) ($this->volatileMember = $vm; var_dump($this->volatileMember->data); // object(stdClass)#4 (0) () // अभी भी अमान्य है, क्योंकि वोलेटाइल थ्रेडेड का विस्तार करता है, इसलिए संपत्ति अभी भी थ्रेडेड क्लास का थ्रेडेड सदस्य है $this->volatileMember = new StdClass() );

हम देख सकते हैं कि अस्थिर वर्ग थ्रेडेड गुणों को बदलने (साथ ही उन्हें अनसेट()) करने की क्षमता प्रदान करने के लिए अपने मूल थ्रेडेड वर्ग द्वारा लगाई गई अपरिवर्तनीयता को ओवरराइड करता है।

परिवर्तनशीलता और अस्थिर वर्ग - सरणियों के विषय को कवर करने के लिए चर्चा का एक और विषय है। pthreads में, थ्रेडेड क्लास की किसी प्रॉपर्टी को असाइन किए जाने पर ऐरे स्वचालित रूप से वोलेटाइल ऑब्जेक्ट में डाले जाते हैं। ऐसा इसलिए है क्योंकि एकाधिक PHP संदर्भों की सरणी में हेरफेर करना सुरक्षित नहीं है।

आइए कुछ चीज़ों को बेहतर ढंग से समझने के लिए एक उदाहरण फिर से देखें:

$सरणी = ; $task = new class($array) थ्रेड (निजी $data; सार्वजनिक फ़ंक्शन __construct(array $array) ($this->data = $array; ) सार्वजनिक फ़ंक्शन run() ($this->data = 4; $ यह->डेटा = 5; print_r($यह->डेटा)); $task->start() && $task->join(); /* आउटपुट: अस्थिर वस्तु (=> 1 => 2 => 3 => 4 => 5) */

हम देखते हैं कि अस्थिर वस्तुओं को ऐसे माना जा सकता है जैसे कि वे सरणी हों क्योंकि वे सरणी संचालन का समर्थन करते हैं जैसे कि (जैसा कि ऊपर दिखाया गया है) सबसेट() ऑपरेटर। हालाँकि, अस्थिर कक्षाएं array_pop और array_shift जैसे बुनियादी सरणी फ़ंक्शंस का समर्थन नहीं करती हैं। इसके बजाय, थ्रेडेड क्लास हमें अंतर्निहित तरीकों जैसे संचालन प्रदान करता है।

एक प्रदर्शन के रूप में:

$डेटा = नया वर्ग अस्थिर का विस्तार करता है (सार्वजनिक $a = 1; सार्वजनिक $b = 2; सार्वजनिक $c = 3; ); var_dump($डेटा); var_dump($डेटा->पॉप()); var_dump($data->shift()); var_dump($डेटा); /* आउटपुट: ऑब्जेक्ट(class@anonymous)#1 (3) ( ["a"]=> int(1) ["b"]=> int(2) ["c"]=> int(3) ) int(3) int(1) object(class@anonymous)#1 (1) ( ["b"]=> int(2) ) */

अन्य समर्थित परिचालनों में थ्रेडेड::चंक और थ्रेडेड::मर्ज शामिल हैं।

तुल्यकालन

इस आलेख के अंतिम भाग में, हम pthreads में सिंक्रनाइज़ेशन को देखेंगे। सिंक्रोनाइज़ेशन एक ऐसी विधि है जो आपको साझा संसाधनों तक पहुंच को नियंत्रित करने की अनुमति देती है।

उदाहरण के लिए, आइए एक सरल काउंटर लागू करें:

$काउंटर = नया वर्ग थ्रेड का विस्तार करता है (सार्वजनिक $i = 0; सार्वजनिक फ़ंक्शन रन() ( for ($i = 0; $i i; ) ) ); $काउंटर->स्टार्ट(); के लिए ($i = 0; $i i; ) $counter->join(); var_dump($counter->i); // 10 से 20 तक एक संख्या प्रिंट करेगा

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

आइए इसे ठीक करें ताकि हमें समय जोड़कर 20 का सही आउटपुट मिल सके:

$काउंटर = नया वर्ग थ्रेड का विस्तार करता है (सार्वजनिक $i = 0; सार्वजनिक फ़ंक्शन रन() ($यह->सिंक्रोनाइज़्ड(फ़ंक्शन() ( for ($i = 0; $i i; ) )); ) ); $काउंटर->स्टार्ट(); $काउंटर->सिंक्रनाइज़्ड(फ़ंक्शन ($काउंटर) ( ($i = 0; $i i; ) ), $काउंटर); $काउंटर->जॉइन(); var_dump($counter->i); // पूर्णांक(20)

सिंक्रोनाइज़्ड कोड ब्लॉक थ्रेडेड::वेट और थ्रेडेड::नोटिफ़ाई (या थ्रेडेड::नोटिफ़ाइऑल) तरीकों का उपयोग करके एक दूसरे के साथ संचार भी कर सकते हैं।

यहां दो सिंक्रोनाइज़्ड while लूप्स में एक वैकल्पिक वृद्धि दी गई है:

$काउंटर = नया वर्ग थ्रेड का विस्तार करता है (सार्वजनिक $cond = 1; सार्वजनिक फ़ंक्शन रन() ( $this->synchronized(function() ( for ($i = 0; $i notify(); if ($this->cond) === 1) ($यह->cond = 2; $यह->प्रतीक्षा(); ) )); $काउंटर->स्टार्ट(); $counter->synchronized(function ($counter) ( if ($counter->cond !== 2) ($counter->wait(); // दूसरे के पहले शुरू होने की प्रतीक्षा करें ) for ($i = 10; $i सूचित करें(); यदि ($counter->cond === 2) ($counter->cond = 1; $counter->wait(); ) ), $counter); $काउंटर->जॉइन(); /* आउटपुट: int(0) int(10) int(1) int(11) int(2) int(12) int(3) int(13) int(4) int(14) int(5) int( 15) int(6) int(16) int(7) int(17) int(8) int(18) int(9) int(19) */

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

निष्कर्ष

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

यदि आप अगली पोस्ट के अनुवाद में रुचि रखते हैं, तो मुझे बताएं: सोशल मीडिया पर टिप्पणी करें। नेटवर्क, अपवोट करें और पोस्ट को सहकर्मियों और दोस्तों के साथ साझा करें।

सूत्रबद्ध चर्चा

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

लाभ

पदानुक्रमित रूप से पिरोए गए विचारों का लाभ यह है कि वे पाठक को बातचीत की समग्र संरचना को तुरंत समझने की अनुमति देते हैं: विशेष रूप से कौन किसे उत्तर दे रहा है। इस तरह यह विस्तारित बातचीत या बहस की स्थिति में सबसे उपयोगी है, जैसे कि समाचार समूह: वास्तव में, वास्तव में जटिल बहस के लिए, किसी प्रकार की पदानुक्रमित थ्रेडिंग प्रणाली के बिना तर्क का पालन करना तुरंत असंभव हो जाता है।

एक अन्य लाभ पदानुक्रमित थ्रेडेड सिस्टम में समुदाय की अधिक सूक्ष्म सराहना में है। चूँकि प्रतिक्रियाएँ विशिष्ट पोस्टों पर की जानी होती हैं, इसलिए वे विशिष्ट व्यक्तियों पर भी की जाती हैं। इसलिए थ्रेडेड वार्तालाप लेखक को उस व्यक्ति के विशिष्ट विचारों और व्यक्तित्व पर ध्यान केंद्रित करते हैं जिस पर प्रतिक्रिया दी जा रही है। ऐसा उन मंचों पर कम होता है जहां नवीनतम टिप्पणी को सामान्य पूल में डाला जाता है।

नुकसान

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

वृक्ष पदानुक्रम थोपने से किसी विषय के भीतर चर्चा खंडित हो जाती है: कई अलग-अलग पिछली पोस्टों का जवाब देना या सारांशित करना अब एक संदेश पोस्ट करना संभव नहीं हो जाता है। इसके बजाय, प्रत्येक पिछली पोस्ट का व्यक्तिगत रूप से जवाब दिया जाना चाहिए। यह तर्कपूर्ण है कि इससे उन मंचों पर अधिक टकरावपूर्ण बहस शैली की ओर अग्रसर होता है जो पदानुक्रमित थ्रेडिंग का उपयोग करते हैं। हालाँकि, यह सच है, यदि वांछित पोस्ट के उत्तरों की मात्रा के कारण सीधे थ्रेडेड उत्तर संभव नहीं है, तो बातचीत को ट्रैक और प्रवाहित रखने के लिए उपयोगकर्ता अब अक्सर उस व्यक्ति के उद्धरणों का उपयोग कर रहे हैं, जिसका वे जवाब दे रहे हैं। सुचारू रूप से अधिकांश संदेश बोर्ड समुदायों द्वारा इसकी अनुशंसा उस स्थिति में की जाती है जब थ्रेडिंग अपनी अन्यथा व्यापक सीमा तक पहुंच गई हो।

धागा खोलें

एक खुला थ्रेड एक ब्लॉग पोस्ट को संदर्भित करता है जहां पाठक अपने द्वारा चुने गए किसी भी विषय पर टिप्पणी और चर्चा कर सकते हैं। वे आम तौर पर बड़ी मात्रा वाले लोकप्रिय ब्लॉगों पर अधिक उपयोगी होते हैं ट्रैफ़िक; इनका उपयोग अक्सर तब किया जाता है जब ब्लॉग के लेखक के पास पोस्ट करने के लिए कोई विषय-वस्तु नहीं होती है या जब पोस्ट करने में कोई कमी होती है।

ओपन थ्रेड का उपयोग ब्लॉग के मुख्य पृष्ठों पर पोस्ट की एकरसता को तोड़ने के लिए भी किया जाता है। सामग्री-उन्मुख पोस्ट पर टिप्पणियाँ बन सकती हैं; इसलिए, लेखक खुले थ्रेड का उपयोग करते हैं ताकि पेज लोड समय धीमा न हो।

उदाहरण

*याहू! समूह [ http://groups.yahoo.com/], एमएसएन समूह [ http://groups.msn.com/] और स्लैशडॉट [ http://www.slashdot.com/] सभी वेब-आधारित फ़ोरम पेश करते हैं जिनमें थ्रेडेड चर्चाएँ होती हैं।

यह भी देखें

*विद्वान स्काईराइटिंग
* ब्लॉगिंग शर्तों की सूची

संदर्भ

*डार्टमाउथ. (2003)। [ http://www.dartमाउथ.edu/~webteach/articles/discussion.html "चर्चा ऑनलाइन लेना" ]
*वोल्सी, टी. डेवेरे, [ http://www.readingonline.org/articles/art_index.asp?HREF=wolsey/index.html "साइबरस्पेस में साहित्य चर्चा: युवा किशोर किताबों के बारे में बात करने के लिए थ्रेडेड चर्चा समूहों का उपयोग कर रहे हैं] . "ऑनलाइन पढ़ना", 7(4), जनवरी/फरवरी 2004। 30 दिसंबर 2007 को पुनःप्राप्त

विकिमीडिया फाउंडेशन.

  • 2010.
  • लियोन पॉवे

बरह अज़ौम

    अन्य शब्दकोश देखें:इंटरनेट मंच

    - phpBB इंटरनेट फ़ोरम सॉफ़्टवेयर पैकेज, सबसे लोकप्रिय फ़ोरम पैकेजों में से एक... विकिपीडिया 1990 के दशक में आभासी शिक्षण वातावरण का इतिहास

    - आभासी सीखने के माहौल के इतिहास में, 1990 का दशक विकास का समय था, मुख्य रूप से किफायती कंप्यूटर और इंटरनेट के आगमन के कारण। 1990 के दशक 1990* फॉर्मल सिस्टम्स इंक. प्रिंसटन, एनजे, यूएसए ने एक डॉस आधारित मूल्यांकन पेश किया है... विकिपीडिया- सहयोगात्मक आमने-सामने शैक्षिक पर्यावरण डेवलपर (डेवलपर्स) लीड कंसोर्टियम स्थिर रिलीज 5.0 / जून 2010 ऑपरेटिंग सिस्टम क्रॉस प्लेटफॉर्म ... विकिपीडिया

    वार्तालाप सूत्रण- कई ईमेल क्लाइंट, बुलेटिन बोर्ड, समाचार समूह या इंटरनेट फ़ोरम द्वारा उपयोग की जाने वाली एक सुविधा है जिसमें सॉफ़्टवेयर संदेशों को दृश्य रूप से समूहीकृत करके उपयोगकर्ता की सहायता करता है। संदेशों को आमतौर पर विषय के आधार पर पदानुक्रम में दृश्य रूप से समूहीकृत किया जाता है। संदेशों का एक समूह समूहीकृत... ...विकिपीडिया

    Slashdot करने- Slashdot.org के मुख्य पृष्ठ URL slashdot.org का स्क्रीनशॉट, नर्ड के लिए स्लोगन न्यूज़। सामग्री जो मायने रखती है...विकिपीडिया

    मीडियाविकि- नेमस्पेस यहां रीडायरेक्ट करता है। विकिपीडिया पर मीडियाविकि नेमस्पेस के संबंध में सहायता के लिए सहायता:मीडियाविकि नेमस्पेस देखें। विकिपीडिया नामस्थान के बारे में सामान्य जानकारी के लिए, विकिपीडिया:नामस्थान देखें। टॉक पेज और मीडियाविकि टॉक पेज यहां रीडायरेक्ट होते हैं। के लिए... ...विकिपीडिया

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

    विकि सॉफ्टवेयर की तुलना- निम्नलिखित तालिकाएँ कई विकी सॉफ़्टवेयर पैकेजों के लिए सामान्य और तकनीकी जानकारी की तुलना करती हैं। सामग्री 1 सामान्य जानकारी 2 लक्षित दर्शक 3 विशेषताएँ 1 4 विशेषताएँ 2… विकिपीडिया

    विद्वतापूर्ण स्काईराइटिंग- संज्ञानात्मक वैज्ञानिक स्टीवन हरनाड द्वारा गढ़ा गया एक शब्द है जो कई ईमेल और एक समाचार समूह, इलेक्ट्रॉनिक मेलिंग सूची, हाइपरमेल, नेटन्यूज़ या इंटरनेट फ़ोरम जैसे विषय थ्रेडेड वेब संग्रह के संयोजन का वर्णन करता है, जो तिथि के अनुसार लिंक और क्रमबद्ध होता है, ... विकिपीडिया

    सहयोगात्मक निर्णय लेने वाला सॉफ्टवेयर- सहयोगात्मक निर्णय लेने (सीडीएम) सॉफ्टवेयर एक सॉफ्टवेयर एप्लिकेशन या मॉड्यूल है जो समय पर सामूहिक निर्णय लेने के लिए आवश्यक कार्यों और सुविधाओं का समन्वय करता है, जिससे सभी संबंधित हितधारकों को प्रक्रिया में भाग लेने में सक्षम बनाया जाता है। ... ...विकिपीडिया

मैंने हाल ही में pthreads आज़माया और सुखद आश्चर्य हुआ - यह एक एक्सटेंशन है जो PHP में कई वास्तविक थ्रेड्स के साथ काम करने की क्षमता जोड़ता है। कोई अनुकरण नहीं, कोई जादू नहीं, कोई नकली नहीं - सब कुछ वास्तविक है।



मैं ऐसे कार्य पर विचार कर रहा हूं. ऐसे कार्यों का एक समूह है जिन्हें शीघ्रता से पूरा करने की आवश्यकता है। इस समस्या को हल करने के लिए PHP के पास अन्य उपकरण हैं, उनका उल्लेख यहां नहीं किया गया है, लेख pthreads के बारे में है।



पाथ्रेड क्या हैं

इतना ही! खैर, लगभग सब कुछ। दरअसल, कुछ ऐसा है जो जिज्ञासु पाठक को परेशान कर सकता है। इनमें से कोई भी डिफ़ॉल्ट विकल्पों के साथ संकलित मानक PHP पर काम नहीं करता है। मल्टीथ्रेडिंग का आनंद लेने के लिए, आपके PHP में ZTS (ज़ेंड थ्रेड सेफ्टी) सक्षम होना चाहिए।

पीएचपी सेटअप

अगला, ZTS के साथ PHP। ZTS के बिना PHP की तुलना में निष्पादन समय में बड़े अंतर (37.65 बनाम 265.05 सेकंड) पर ध्यान न दें, मैंने PHP सेटअप को सामान्य बनाने की कोशिश नहीं की। उदाहरण के लिए, ZTS के बिना मामले में, मेरे पास XDebug सक्षम है।


जैसा कि आप देख सकते हैं, 2 थ्रेड का उपयोग करते समय, प्रोग्राम निष्पादन की गति रैखिक कोड की तुलना में लगभग 1.5 गुना अधिक होती है। 4 धागों का उपयोग करते समय - 3 बार।


आप ध्यान दे सकते हैं कि भले ही प्रोसेसर 8-कोर है, लेकिन 4 से अधिक थ्रेड का उपयोग करने पर प्रोग्राम का निष्पादन समय लगभग अपरिवर्तित रहता है। ऐसा लगता है कि यह इस तथ्य के कारण है कि मेरे प्रोसेसर में 4 भौतिक कोर हैं, स्पष्टता के लिए, मैंने प्लेट को एक आरेख के रूप में चित्रित किया है।


फिर शुरू करना

PHP में, pthreads एक्सटेंशन का उपयोग करके मल्टीथ्रेडिंग के साथ काफी सुंदर ढंग से काम करना संभव है। इससे उत्पादकता में उल्लेखनीय वृद्धि होती है।

टैग: टैग जोड़ें

मेरे एक अच्छे दोस्त की माँ का सूटकेस सेंट पीटर्सबर्ग से मॉस्को की उड़ान में खो गया था, और उन्हें गर्म तटों के लिए आगे की उड़ान भरनी थी, और अब वह पहले से ही रिसॉर्ट में थी - बिना स्विमसूट, सैंडल और केवल एक टी के साथ -उसके हाथ के सामान से शर्ट। पुराने समय की खातिर, मैंने उसे कुछ सुझाव दिए कि क्या करना है और कहाँ दौड़ना है, और आज मैंने किसी दिए गए विषय पर वह सब कुछ लिखने का फैसला किया जो मैं जानता हूँ।

यह समझाने के लिए कि मैं इतना होशियार कहां हूं, मैं आपको याद दिला दूं कि एक समय में मैंने कई एयरलाइनों के लिए ग्राउंड सेवाओं में काम किया था, जिसमें सामान की तलाशी से संबंधित कुछ मुद्दों से निपटना भी शामिल था। खैर, बेशक, साथ ही मेरा अपना उड़ान अनुभव भी। हालाँकि, क्योंकि मैंने कई साल पहले विमानन सेवा उद्योग छोड़ दिया था, शायद कुछ बारीकियाँ बदल गई होंगी - यदि हां, तो मैं कृतज्ञतापूर्वक इस विषय पर टिप्पणियों को स्वीकार करूंगा और पोस्ट में दी गई जानकारी को सही करूंगा।

मैं इससे शुरुआत करूंगा अपना सामान खोने से बचाने के लिए आपको क्या करने की आवश्यकता है:
1. अपने सूटकेस से पिछली यात्राओं के सभी टैग और स्टिकर फाड़ दें, यहां तक ​​कि बार कोड वाले छोटे टैग भी, जो अक्सर सूटकेस से अलग से चिपके होते हैं - वे स्वचालित सामान स्कैनिंग और सॉर्टिंग सिस्टम को भ्रमित कर सकते हैं।
2. अपने सूटकेस (बैग, बॉक्स, पैकेज - सामान्य तौर पर, वह सब कुछ जिसे आप सामान के रूप में चेक करते हैं) पर एक नाम टैग लटकाएं: आप पहले से एक पुन: प्रयोज्य विकल्प खरीद सकते हैं या चेक-इन काउंटर पर एक पेपर टैग ले सकते हैं - आमतौर पर सभी अर्ध-सभ्य एयरलाइंस उन्हें बिना किसी प्रतिबंध के टिकट देती हैं। और उदाहरण के लिए, अमीरात में आम तौर पर टिकाऊ कॉर्ड पर उत्कृष्ट प्लास्टिक टैग होते हैं जो बहुत लंबे समय तक चल सकते हैं:

पुराने पागल मेरी तरह कर सकते हैं: मेरे पास हमेशा मेरे सूटकेस पर सैमसोनाइट सेट से एक पुन: प्रयोज्य प्लास्टिक टैग लटका रहता है जिसमें मेरे स्थायी घर का पता, फोन नंबर और लिखा होता है। ईमेल द्वारा, और जब मैं छुट्टियों पर कहीं उड़ान भरता हूं, तो मैं एक कागजी नोट भी लटका देता हूं, जिस पर मैं नए स्थान पर अपने रहने की तारीखें और सभी संभावित संपर्क (होटल का नाम और पता, उसका स्थानीय टेलीफोन नंबर, यदि कोई हो,) इंगित करता हूं। और मेरा पहला और अंतिम नाम, निश्चित रूप से)।
3. चेक-इन काउंटर पर, सुनिश्चित करें कि आपका सामान उस बैगेज टैग के साथ चिपका हुआ है जिसे चेक-इन एजेंट प्रिंट करता है - जिस शहर के लिए आप उड़ान भर रहे हैं उसका कोड और उड़ान संख्या।
4. यदि आपके पास कई कनेक्टिंग उड़ानें हैं, तो चेक-इन एजेंट को इसके बारे में बताएं और निर्दिष्ट करें कि आप किस बिंदु पर अपना सामान चेक करना चाहते हैं। कुछ मामलों में, आपकी इच्छा की परवाह किए बिना, सामान को मार्ग के साथ एक या दूसरे हवाई अड्डे पर उठाया जाना होगा: यह लागू होता है, उदाहरण के लिए, हवाई अड्डों (पेरिस में ओरली और चार्ल्स डी गॉल, डोमोडेडोवो - शेरेमेटेवो - "वनुकोवो) के बीच स्थानांतरण पर "मॉस्को में), अलग-अलग टर्मिनल (फ्रैंकफर्ट में टर्मिनल 1 और 2) या संयुक्त राज्य अमेरिका या मेक्सिको में आगमन के पहले बिंदु पर - यह इन देशों में एक सीमा शुल्क आवश्यकता है: मान लीजिए कि आप मॉस्को-वाशिंगटन-फीनिक्स उड़ान भर रहे हैं, एक बैगेज टैग फीनिक्स के लिए सभी तीन खंडों के लिए जारी किया जाता है, लेकिन वाशिंगटन में, सामान को भौतिक रूप से उठाना होगा, सीमा शुल्क के माध्यम से साफ़ करना होगा और फिर से चेक-इन करना होगा, यदि आप एक बच्चे के घुमक्कड़ में जाँच कर रहे हैं जिसे आपको विमान से पहले ले जाने की अनुमति थी , या कोई जानवर, आपको इसे पारगमन बिंदु पर लेने की आवश्यकता होगी। सामान्य तौर पर, स्थानान्तरण के साथ एक जटिल मार्ग के मामले में, एयरलाइन के कॉल सेंटर पर या चरम मामलों में, चेक-इन पर पहले से ही सामान की आवाजाही के विवरण को स्पष्ट करना बेहतर होता है।
5. अपने सामान को दृश्यमान बनाएं: सामान में देरी हमेशा सामान संभालने वालों की गलती या छँटाई प्रणाली में विफलता के कारण नहीं होती है। कभी-कभी एक अन्य अनुपस्थित-दिमाग वाला यात्री, लंबी उड़ान के बाद थका हुआ, सामान बेल्ट से आपके जैसा ही काला सैमसोनाइट या नॉनडिस्क्रिप्ट स्पोर्ट्स बैग ले लेगा। इसलिए, अपने सामान को चिह्नित करें: चमकीले रिबन का एक गुच्छा या हैंडल पर एक छोटा नरम खिलौना लटकाएं, उस पर एक बड़ा स्टिकर चिपकाएं, या सूटकेस चुनते समय बस एक असामान्य रंग को प्राथमिकता दें।

सामान में क्या चेक नहीं करना चाहिए?
याद रखें, सभी एयरलाइंस और हवाई अड्डे सामान खो देते हैं। बेशक, आँकड़े सभी के लिए अलग-अलग हैं, लेकिन सबसे विश्वसनीय एयरलाइंस भी सामान खो सकती हैं या देरी कर सकती हैं, और यहां तक ​​कि सबसे छोटे हवाई अड्डे पर भी, जहां एक सामान संभालने वाला चेक-इन काउंटर से सीधे विमान तक सूटकेस के साथ एक गाड़ी पहुंचाएगा। इसलिए, मैं आपको सलाह देता हूं कि आप हमेशा अपना सामान अपने साथ रखें:
- महत्वपूर्ण दस्तावेज़, जिनमें वे भी शामिल हैं जिनकी उड़ान के दौरान आवश्यकता नहीं है (उदाहरण के लिए, सेंट पीटर्सबर्ग की मेरी पिछली यात्रा पर मुझे अपना लाइसेंस बदलने की आवश्यकता थी, और मैं अपने हाथ के सामान में एक विवाह प्रमाण पत्र और सभी प्रकार के कार्ड ले गया था) एक ड्राइविंग स्कूल)
- कुंजियाँ (आपके पते वाले टैग के संयोजन में, यह खतरनाक हो सकता है)
- पैसा, आभूषण (कोई टिप्पणी नहीं)
- महंगे नाजुक उपकरण
- दवाएँ जो आप नियमित रूप से लेते हैं, उड़ान के लिए आवश्यक मात्रा में, और यदि आपको किसी विदेशी देश या शहर में एनालॉग की तलाश करनी हो तो एक छोटे से रिजर्व के साथ। प्रिस्क्रिप्शन दवाएँ जो आपका सामान खो जाने पर खरीदी नहीं जा सकतीं, पूरी यात्रा के लिए आवश्यक मात्रा में अपने साथ ले जाएँ।
- कुछ ऐसा जिसकी आगमन पर तत्काल आवश्यकता हो सकती है (उदाहरण के लिए, अभियोक्ताफ़ोन के लिए
- कुछ ऐसा जो आपके लिए व्यक्तिगत रूप से भावनात्मक महत्व रखता हो: कभी-कभी सामान हमेशा के लिए खो जाता है, और यदि आपकी निजी डायरी खोने से आपका दिल टूट जाता है, तो इसे घर पर छोड़ना या विमान में अपने साथ ले जाना बेहतर है

एक शिक्षाप्रद कहानी: सेंट पीटर्सबर्ग में लुफ्थांसा में मेरे काम के दौरान, संयुक्त राज्य अमेरिका से एक विवाहित जोड़ा हमारे कार्यालय में हाथ मलते हुए दौड़ता हुआ आया - उनका सामान, जिसमें गोद लेने के मुकदमे के लिए बहुत महत्वपूर्ण दस्तावेज थे, नहीं आए थे, मुकदमा अगले दिन था। बेशक, सामान के नुकसान के लिए एयरलाइन दोषी है, लेकिन इससे किसे फायदा होता है? ऐसी स्थिति से बचने के लिए, अपने हाथ के सामान में महत्वपूर्ण कागजात रखना ही पर्याप्त था।

तो, आप पहुंचे और बैगेज बेल्ट पर अपना सामान नहीं पाया। क्या करें?
1. यदि आपने अपने सामान में सामान्य सूटकेस के अलावा कुछ और चेक किया है: स्की, एक सेलो, एक दीवार के आकार का प्लाज्मा पैनल, एक बेबी घुमक्कड़, एक जीवित संगमरमर ग्रेट डेन, जांचें कि क्या तथाकथित जारी करने के लिए एक अलग बिंदु है। बड़े आकार का सामान या भारी सामान - ऊपर वर्णित सामान के समान सामान को अक्सर एक अलग डिब्बे में लोड किया जाता है और मैन्युअल रूप से अलग से अनलोड किया जाता है। अगर आपका सामान भी वहां नहीं मिला
2. बैगेज ट्रेसिंग या खोया-पाया काउंटर पर जाएं। वहां आपको एक विशेष फॉर्म भरना होगा विस्तार में जानकारीआपके सामान के बारे में: मार्ग, उपस्थिति, सामग्री की एक छोटी सूची, आपके स्थायी निवास स्थान और अस्थायी प्रवास पर आपके संपर्क। इसके अलावा, बैगेज ट्रेसिंग सेवा में आपको इस तरह का बैगेज चार्ट देखने की अधिक संभावना है:

इस वर्गीकरण के अनुसार आपके गुम हुए सामान को कोडित किया जाएगा और, जैसा कि आप समझते हैं, इन दोनों सूटकेस को समान रूप से कोडित किया जाएगा:

इसलिए बेझिझक विवरण में अतिरिक्त विवरण जोड़ें और सामग्री खंड को न छोड़ें। एक नियम के रूप में, जब आप पहली बार सामान विलंब रिपोर्ट भरते हैं, तो आपको सामग्री की कई वस्तुओं को इंगित करने के लिए कहा जाएगा जिसके द्वारा आपके बैग की पहचान की जा सकती है यदि बाहर कोई पहचान चिह्न नहीं है और बैग को खोलना होगा (यदि बैग खुल गया है, आप इसकी सूचना डाल देंगे)। ख़राब उदाहरण: टी-शर्ट/किताब/गीले पोंछे, अच्छा उदाहरण: चमकदार लाल बिकनी/मालेविच प्रतिकृतियों की सूची/फोल्डिंग आयरन। आवेदन भरने के बाद, बैगेज ट्रेसिंग सेवा कर्मचारी आपको XXXYY11111 प्रारूप में एक नंबर देगा, जहां XXX आगमन हवाई अड्डा कोड है, YY आगमन एयरलाइन कोड है + आवेदन क्रमांक के 5 अंक: उदाहरण के लिए, JFKLH12345, यदि आपने लुफ्थांसा से न्यूयॉर्क के कैनेडी हवाई अड्डे के लिए उड़ान भरी। इस नंबर को याद रखें या लिख ​​लें - यह भविष्य के अनुप्रयोगों में अपना आवेदन ढूंढने का सबसे आसान तरीका होगा।
उसी नंबर का उपयोग करके आप स्वयं खोज स्थिति की जांच कर सकते हैं (किसी कारण से लिंक गायब हो जाता है: यदि यह आपके लिए काम नहीं करता है, तो गूगल वर्ल्ड ट्रेसर ऑनलाइन और वस्तुतः दूसरा लिंक - वेबसाइट वर्ल्डट्रैसर.एरो पर बैगेज ट्रेसिंग शीर्षक के साथ - वही है जो आपको चाहिए), क्योंकि खोया और पाया जाना अक्सर बहुत कठिन होता है
3. आगमन के हवाई अड्डे पर अपनी एयरलाइन के कार्यालय से संपर्क करने का प्रयास करें: कभी-कभी (मैं जोर देता हूं - कभी-कभी!) यदि आप घर नहीं गए हैं, लेकिन अस्थायी रहने की जगह (छुट्टियां, व्यापार यात्रा) के लिए, एयरलाइन एक सेट प्रदान कर सकती है प्रसाधन सामग्री (लुफ्थांसा के पास है) में एक बड़े आकार की टी-शर्ट, एक टूथब्रश और पेस्ट, एक कंघी, शैम्पू और शॉवर जेल के छोटे पैकेज, वॉशिंग पाउडर का एक पैकेट, आदि शामिल हैं) या छोटे खर्चों के लिए एक छोटा सा नकद भुगतान करें। स्पॉट (स्पॉट नकद भुगतान)।

आगे क्या होगा?
आपकी फ़ाइल (तथाकथित एएचएल) केंद्रीकृत सामान खोज प्रणाली (वर्ल्ड ट्रेसर) में जाएगी। सामान की सभी लावारिस वस्तुएं एक ही खोज प्रणाली में आती हैं, चाहे वे सामान यार्ड के नुक्कड़ और क्रेनियों में टैग के बिना पाए गए हों या इनमें से प्रत्येक सामान के लिए सामान बेल्ट पर XXXYY11111 प्रारूप की एक फ़ाइल है; भी बनाया गया, केवल एक अलग उपप्रकार का - तथाकथित। ऑन-हैंड रिपोर्ट या ओएचडी। यदि एएचएल और ओएचडी फाइलों का डेटा मेल खाता है (अंतिम नाम, सूटकेस का विवरण, मार्ग, आदि), तो दोनों स्टेशनों (जहां सामान के नुकसान की सूचना दी गई थी और जहां लावारिस सामान पाया गया था) को एक अधिसूचना प्राप्त होगी, और फिर यह तकनीक का मामला है: दोबारा जांच करना और सफलता मिलने पर सामान को वांछित शहर में भेजना। बेशक, बड़ी संख्या में स्वनिर्मित- संदेश भेजना, समान लेकिन समान सूटकेस को अस्वीकार करना, साथ ही एकाधिक सूटकेस का उत्तर देना फोन कॉल- सामान्य तौर पर, सामान खोज सेवा कर्मचारी कभी ऊबते नहीं हैं।
अनुमानित आँकड़े: 90% से अधिक खोया हुआ सामान खोज के पहले 3 दिनों में मिल जाता है, 3% हमेशा के लिए खो जाता है।
आप क्या कर सकते हैं?
1. यदि आपको आगमन पर तत्काल आवश्यक कोई चीज़ खरीदनी है (टूथब्रश से लेकर बिजनेस सूट तक), तो बाद में मुआवजे के लिए अपनी रसीदें अपने पास रखना सुनिश्चित करें। हालाँकि, आपको अनावश्यक महंगी खरीदारी से बचना चाहिए; मैं इसका कारण बाद में बताऊंगा।
2. नए चरणों का पालन करते हुए, सामग्री की सबसे विस्तृत सूची बनाएं, अधिमानतः रंग, ब्रांड आदि के साथ अनुमानित लागतप्रत्येक आइटम, आदर्श रूप से अंग्रेजी में (अन्यथा एयरलाइन कर्मचारी को सिस्टम में प्रवेश करने के लिए इस सूची का अनुवाद करना होगा), एयरलाइन से संपर्क करें और उन्हें यह सूची भेजें, इसे सामान खोज एप्लिकेशन में जोड़ा जाएगा। पहले 5 दिनों के लिए, सामान की खोज आगमन के हवाई अड्डे द्वारा की जाती है, फिर खोज वाहक एयरलाइन की ज़िम्मेदारी बन जाती है (एयरलाइन जो आवेदन संख्या में इंगित की गई है - JFKLH12345 याद रखें?), और 21 दिनों के बाद आप अंतिम मुआवज़े के लिए आवेदन कर सकते हैं.
3. यदि खोए हुए सामान के बारे में विवरण दाखिल करने की तारीख से 21 दिनों के बाद भी वह नहीं मिला है, तो मुआवजे की मांग के लिए वाहक एयरलाइन से संपर्क करें। यदि मैं गलत नहीं हूं, तो सीमाओं का क़ानून 2 वर्ष है, अर्थात। आप नुकसान का दावा दायर करने की तारीख से दो साल के भीतर मुआवजे के लिए आवेदन कर सकते हैं।

मुआवजे का भुगतान.
मुआवजे का भुगतान करने के लिए, आपको भुगतान के लिए एक आवेदन, उड़ान की पुष्टि करने वाले दस्तावेजों और सामान के नुकसान के तथ्य (बोर्डिंग पास, सामान टैग, सामान के नुकसान के लिए दावा संख्या, भुगतान विवरण) के साथ अपनी एयरलाइन के प्रतिनिधि कार्यालय से संपर्क करना होगा। यदि मैं गलत नहीं हूं, तो रूसी संघ में मुआवजे पर निर्णय पर कानूनी रूप से 30 दिनों के भीतर विचार किया जाना चाहिए। आपसे सामग्री की लागत का अनुमान लगाने और यदि संभव हो तो सूटकेस और उसमें मौजूद वस्तुओं की खरीद की रसीदें प्रदान करने के लिए भी कहा जा सकता है (मैं समझता हूं कि ज्यादातर मामलों में यह अवास्तविक है, लेकिन यह प्रक्रिया का हिस्सा है)।
पहले, चेक किए गए सामान के वजन के आधार पर भुगतान किया जाता था - लगभग 20 डॉलर प्रति किलोग्राम। बाद में, भुगतान प्रणाली बदल दी गई और एयरलाइंस की देनदारी 1,000 पारंपरिक इकाइयों तक सीमित कर दी गई (एक पारंपरिक इकाई की लागत की गणना एयरलाइन के भीतर की जाती है), जो मेरे काम के समय लगभग 1,300 यूरो के अनुरूप थी। वे। यहां तक ​​​​कि अगर आप एक हजार बोलिवियाई गेको खाल से बने और हीरे से भरे लुई वुइटन सूटकेस की खरीद के लिए रसीद लाते हैं, तो भी आपको 1,300 यूरो से अधिक नहीं मिलेंगे।