«Блокировка» - это когда чтение или запись зависает, ожидая либо дополнительной информации (для чтения), либо большего пространства в некотором внутреннем буфере (для записи), прежде чем вернуть управление вызывающему потоку.
И я почти уверен, что объект потока заботится о своих собственных местах чтения / записи, поэтому указатель просто указывает на объект потока, который считывает из своего собственного буфера.Таким образом, если вы читаете с синхронизированными методами, то каждое чтение будет ждать своей очереди и получит связные (но не перекрывающиеся) данные.Если методы не синхронизированы, то я почти уверен, что весь ад вырвется на свободу.