Поделиться через


Состояния потока

Допустимые состояния и переходы состояний для потока показаны на следующем рисунке.

Схема состояния потока.

Каждый из кругов обозначает устойчивое состояние. Каждая из линий задает переход, который может возникать в результате вызова функции, работающей в потоке. Пять групп функций могут вызвать переходы состояний.

Функции в первых трех группах объявляются в <stdio.h>:

Функции в оставшихся двух группах объявляются в <wchar.h>:

Схема состояний показывает, что между большинством операций записи и чтения необходимо вызывать одну из функций позиционирования:

  • Невозможно вызвать функцию чтения, если последняя операция в потоке была записью.

  • Невозможно вызвать функцию записи, если последняя операция в потоке была чтением, если только эта операция чтения не задает индикатор конца файла.

Наконец, схема состояний показывает, что операция позиционирования никогда не уменьшает число допустимых вызовов функций, которые могут следовать далее.

См. также

Файлы и потоки