BufferedReader.readLine()
ürününün askıda kalmasının bir yolu var mı? İstemci herhangi bir giriş teslim etti iseBufferedReader.readLine() nasıl askıda kalmaz?
- Çekler:
Ben bir sunucu yaratıyorum.
- Değilse, başka bir kod yürütür ve sonunda giriş için istemciyi denetlemeye geri döner.
İstemcinin readLine()
'u çalıştırmadan herhangi bir girdi sağlayıp sağlamadığını nasıl kontrol edebilirim? readLine()
çalıştırırsam, giriş iletilene kadar iş parçacığı askıda kalacak mı?
Neden? Sunucu, engelleme G/Ç kullanıyorsanız, her istemci için ayrı bir okuma iş parçacığına sahip olmalıdır. – EJP
Her kullanıcı için iki konu oluşturmak istemiyorum. Her kullanıcı için zaten bir iş parçacığım var. – Cin316
Bu, Java'nın I/O kütüphanesinin talihsiz gerçekliğidir. Ya da 1) okumak için ayrı konuları döndürün 2) NIO kitaplığını kullanın 3) readLine() öğesini kullanmayın ve kendi arabelleğe alma ve satır sonu yönetiminizi kendiniz yapın – creechy