Содержание
- 2. #include int main() { int a, b; cout cin » a » b; if (a ==
- 3. В общем случае содержимое памяти, к которой поток имеет доступ во время своего исполнения, называется контекстом
- 4. Сколько бы раз эта функция не вызывалась параллельно работающими потоками, она будет корректно изменять значение переменной
- 5. Теперь введем глобальную переменную n и изменим нашу функцию следующим образом: int n ; void g()
- 6. В этом случае параллельный вызов функции g несколькими потоками может дать некорректное изменение значения переменной n,
- 7. Та же проблема встречается и в случае, когда функция использует статические переменные. Для разбора этого случая
- 8. В общем случае функция называется повторно входимой или реентерабельной (reentrant или reenterable), если она удовлетворяет следующим
- 9. В дополнение к реентерабельным функциям определяют также функции, безопасные для вызова параллельно исполняемыми потоками. Функция называется
- 10. поток = (процессор, программа) Программа может исполняться процессором только в том случае, если она готова к
- 11. Состояния процессора: процессор не выделен для исполнения программы; процессор выделен для исполнения программы. Состояния программы: программа
- 12. Тогда мы можем определить состояние потока как пару состояний: состояние потока = (состояние процессора, состояние программы).
- 16. Скачать презентацию