वहाँ BufferedReader.readLine()
लटका नहीं बनाने के लिए एक तरीका है?आप BufferedReader.readLine() लटका नहीं कैसे कर सकते हैं?
- जांच करें कि क्या ग्राहक किसी भी इनपुट जन्म दिया है:
मैं एक सर्वर है कि बना रहा हूं।
- यदि नहीं, तो यह अन्य कोड निष्पादित करता है और अंत में वापस निवेश के लिए ग्राहक की जाँच करने के लिए लूप।
मैं कैसे जांच सकता हूं कि क्लाइंट ने readLine()
चलाने के बिना कोई इनपुट दिया है या नहीं? यदि मैं readLine()
चलाता हूं, तो इनपुट वितरित होने तक थ्रेड लटका होगा?
क्यों? यदि आप अवरुद्ध I/O का उपयोग कर रहे हैं, तो सर्वर के प्रति क्लाइंट एक अलग रीडिंग थ्रेड होना चाहिए। – EJP
मैं प्रत्येक उपयोगकर्ता के लिए दो धागे बनाने के लिए नहीं करना चाहती। मेरे पास प्रत्येक उपयोगकर्ता के लिए पहले से ही एक धागा है। – Cin316
यह जावा की आई/ओ लाइब्रेरी की दुर्भाग्यपूर्ण वास्तविकता है। आप या तो 1) पढ़ने के लिए अलग थ्रेड स्पिन करें 2) एनआईओ लाइब्रेरी का उपयोग करें 3) readLine() का उपयोग न करें और अपने स्वयं के बफरिंग और एंड-ऑफ-लाइन प्रबंधन को स्वयं करें – creechy