Повышение:: операции чтения-записи Asio

Причина находится в принципе разработки, тот Java не позволяет множественное наследование. Проблема со множественным наследованием может быть проиллюстрирована следующим примером:

public class A {
   public method x() {...}
}
public class B {
   public method x() {...}
}
public class C extends A, B { ... }

Теперь, что происходит, если Вы называете C.x ()? Будет A.x () или B.x () выполнен? Каждый язык со множественным наследованием должен решить эту проблему.

Интерфейсы позволяют в Java своего рода ограниченное множественное наследование. Для предотвращения проблемы выше им не позволяют иметь методы. Если мы смотрим на ту же проблему с интерфейсами и статическими методами:

public interface A {
   public static method x() {...}
}
public interface B {
   public static method x() {...}
}
public class C implements A, B { ... }

Та же проблема здесь, что происходит, если Вы называете C.x ()?

8
задан plastic chris 4 August 2009 в 15:57
поделиться

1 ответ

read_some и write_some могут возвращаться, как только был передан хотя бы один байт. Таким образом, вам нужно выполнить цикл, если вы хотите убедиться, что вы получили все данные - но это может быть то, что вам нужно.

Бесплатные функции являются оболочками для read_some и write_some и имеют разные условия завершения в зависимости от перегрузки. Обычно они ждут, пока буфер будет полностью передан (или возникнет ошибка, или в некоторых перегрузках возникнет явное условие завершения)

13
ответ дан 5 December 2019 в 13:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: