Конечно.Точная ситуация, которую вы описываете, не должна быть проблемой (чтение и запись одновременно).
Как правило, поток чтения блокируется, если нечего читать, и может прервать выполнение операции чтения, если вызадано время ожидания.
Поскольку входной поток и выходной поток являются отдельными объектами в Socket, единственное, что вас может беспокоить, это то, что происходит, если у вас есть два потока, пытающихся читать или записывать (двапотоки, тот же поток ввода / вывода) в то же время?Методы чтения / записи классов InputStream / OutputStream не синхронизированы.Однако возможно, что если вы используете подкласс InputStream / OutputStream, то методы чтения / записи, которые вы вызываете, синхронизируются.Вы можете проверить javadoc для любого класса / методов, которые вы вызываете, и выяснить это довольно быстро.