I have a Socket that I am both reading and writing to, via BufferedReaders and BufferedWriters. I\'m not sure which operations are okay to do from separate threads. I would
You actually read from InputStream and write to OutputStream. They are fairly independent and for as long as you serialize access to each of them you are ok.
You have to correlate, however, the data that you send with data that you receive. That's different from thread safety.