Tôi đang sử dụng một số ObjectInputStream
để gọi readObject
để đọc theo số Objects
được tuần tự hóa. Tôi muốn tránh có phương pháp chặn này, vì vậy tôi đang tìm cách sử dụng một cái gì đó như Inputstream.available()
.Tuần tự hóa Java, ObjectInputStream.readObject(), kiểm tra xem sẽ chặn
InputStream.available()
sẽ cho bạn biết có sẵn byte và read()
sẽ không chặn. Có một phương pháp tương đương cho seriailzation mà sẽ cho bạn biết nếu có Object
s có sẵn và readObject
sẽ không chặn?
Nếu chúng khác nhau, bạn có thể mất nhiều tiền. Nếu bạn chọn N lớn hơn đối tượng tiếp theo, thì bạn có thể rơi vào trạng thái bế tắc nơi bạn đang chờ đợi nhiều hơn đối tượng hiện tại và người gửi sẽ không gửi đối tượng tiếp theo cho đến khi bạn trả lời đối tượng trước đó . Đảm bảo tốt hơn rằng có nguồn cung cấp đầu vào bất ngờ trước khi sử dụng phương pháp này! – PanCrit