У меня есть сокет, который я читаю и пишу через BufferedReaders и BufferedWriters. Я не уверен, какие операции можно выполнять из отдельных потоков. Я бы предположил, что запись в сокет из двух разных потоков одновременно - плохая идея. То же самое с чтением из сокета одновременно из двух разных потоков. А как насчет чтения в одном потоке при записи в другом?
Я спрашиваю, потому что хочу, чтобы один поток был заблокирован на длительное время при чтении, поскольку он ожидает дополнительных данных, но во время этого ожидания у меня также есть случайные данные для отправки розетка. Я не понимаю, является ли это потокобезопасным, или мне следует отменить чтение перед записью (что будет раздражать).