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