1. Из-за каких ресурсов возникает соперничество при «гонке данных»? Варианты ответа: a) оперативная память; b) оперативная память c) файловый ресурс; d) аппаратный ресурс; e) внешняя память; 2. Представлен данный метод: 3. /// <summary> 4. /// В трех разных потоках 5. /// моделируется параллельная работа со счетом 6. /// трех членов одной семьи - мужа, его жены и дочери 7. /// </summary> 8. 9. staticvoidGo() { 10. //Создание потоков для трех клиентов 11. Thread h = new Thread(Husband); 12. Thread w = new Thread(Wife); 13. Thread d = new Thread(Daughter); 14. //запуск их методов на выполнение 15. h.Start(); 16. d.Start(); 17. w.Start(); 18. //Пора подвести итоги работы 19. d.Join(); 20. h.Join(); 21. w.Join(); 22. Console.WriteLine("Работа со счетом закончена" + 23. "\r\n" + "Мужположил = " + husband_sum.ToString() + 24. "\r\n" + "Дочьсняла = " + daughter_sum.ToString() + 25. "\r\n" + "Женасняла = " + wife_sum.ToString() + 26. "\r\n" + "Баланс = " + account.Sum); 27. if (husband_sum != daughter_sum + wife_sum + account.Sum) 28. Console.WriteLine("Опасные операции над счетом!"); 29. } Сколько потоков содержаться в данном методе? Варианты ответа: a) 2 b) 3 c) 4 d) 5 3. На использовании какого оператора языка С# основан простейший механизм блокировки? Варианты ответа: a) b) c) d) Lock. Deadlock. Stringname. Threads. 4. Каким методом является метод Enter класса Monitor? Варианты ответа: a) b) c) d) Динамическим. Статическим. Классическим. Прикладным. 5. При каком блоке снимается блокировка? Варианты ответа: a) b) c) d) Lock Locker Finally TryEnter 6. Пусть, выполняя действия в критической секции, поток обнаруживает, что другой поток должен выполнить некоторую обработку закрытого ресурса. В этой ситуации поток должен приостановить свою работу, освободить временно ресурс, чтобы дать другому потоку провести необходимую обработку, а затем уведомить приостановленный поток, что он может продолжить работу. Какой метод/ы позволяет реализовать описанный сценарий? Варианты ответа: a) b) c) d) Wait Pulse PulseAll TryEnter 7. Два основных метода класса SemaphoreSlim? Варианты ответа: a) b) c) d) Wait и Release Wait и Pulse Release и Pulse Test_Unsafe и Go 8. Выберете верные утверждения. Варианты ответа: a) Если блокировка позволяет избавиться от гонки данных, то для спасения от клинча нужно корректно организовать работу потоков, использующих несколько общих ресурсов. b) Блокировка критических секций позволяет справиться с проблемой гонки данных. c) Клинч никогда не возникнет в ситуации, когда два или более параллельно выполняемых потока конкурируют за обладание двумя или более общими ресурсами. d) Блокировка позволяет спастись от «гонки данных».