io.Reader is an interface, it depends on the underlying. IIRC os.File for example is threadsafe, PipeReader and PipeWriter are as well.