Как реализуется параллельный I/O в стандартный поток или один файл?

Хочу понять как реализован процесс чтение\записи в стандартные потоки или файл в частности интересно с++ и python.

  1. Т.е. во время когда я вызываю stdin.read() и в этот момент в stdin лежит например 2 строки, блокируется ли запись в файл до того момента пока я не закончу чтение, или блокируется количество байт которые на начало чтение там содержаться, а другой поток может в это время записать например третью строчку сверху?
  2. Как работает при этом база данных ведь например в ms sql это же фактически один файл, я так понимаю что много потоков в каждый момент блокируют какой то фрагмент файла и работают с ним. Я полистал несколько книжек по с++ и python но в основном везде написано только про то что можно открыть файл либо на чтение либо на запись и все. Если просто подскажите в какой книжке подробно можно почитать этого будет достаточно.

Ответы (0 шт):