Главная /
Параллельные вычисления и многопоточное программирование /
Работая в цикле, Поток_1 выполняет код: N = rnd.Next(0,2), а Поток_2 выполняет параллельно код: if(N > 0) Sum = 1000 else Sum = 0; (Переменные объявлены надлежащим образом, блокировки не предусмотрены) Какие результаты гарантируются?
Работая в цикле, Поток_1
выполняет код: N = rnd.Next(0,2)
, а Поток_2
выполняет параллельно код: if(N > 0) Sum = 1000 else Sum = 0;
(Переменные объявлены надлежащим образом, блокировки не предусмотрены) Какие результаты гарантируются?
вопрос
Правильный ответ:
если
N = 1
, то Sum = 1000
если
N = 0
, то Sum = 0
если
N = 0
, то Sum = 1000
если
N = 1
, то Sum = 0
ни один из результатов не гарантируется. Возможны все четыре случая
Сложность вопроса
53
Сложность курса: Параллельные вычисления и многопоточное программирование
89
Оценить вопрос
Комментарии:
Аноним
Зачёт сдал. Лечу выпивать отмечать победу над тестом интут
29 мар 2017
Аноним
Спасибо за подсказками по интуит.
16 май 2016
Другие ответы на вопросы из темы программирование интуит.
- # Какие высказывания являются истинными по отношению к методу Wait из класса Monitor?
- # Какие утверждения правильно описывают семантику выполнения метода Parallel.For:
- # При выполнении методов Parallel.For и Parallel.ForEach на одной или нескольких итерациях могут возникать исключительные ситуации. Правда ли, что:
- # Под управляемыми параметрами понимаются:
- # Какие утверждения являются справедливыми в ситуации, когда управление бизнес-логикой приложения осуществляется в визуальном интерфейсе, работающем в потоке, отличном от потока, в котором работает бизнес-логика?