Могут ли два потока одновременно выполнять метода входа в критическую секцию?
Как называется свойство алгоритма блокировки, при котором поток, завершивший входную секцию раньше, чем другие её начали, первым войдёт в критическую секцию
Всегда ли метод входа в критическую секцию завершается за конечное число шагов?
В идеальной реализации замка время обращения к замку T зависит от числа потоков N как:
Замки чтения-записи при установке reader-замка запрещают:
Алгоритм, приведённый ниже, относится к типу: for (int i = 0; i < N; i++) { lock.lock(); array[i].proceed(); lock.unlock(); }
Алгоритм, приведённый ниже, относится к типу: int oldValue = -1; if (oldValue != r.compareAndSet(oldValue, myValue)) { //someone was faster foo(); } else { //that’s my turn! bar();
Алгоритм, приведённый ниже, относится к типу: int oldValue = -1; while(oldValue != r.compareAndSet(oldValue, myValue)) oldValue = r.get(); proceed();
Операция изменения элемента в множестве занимает 3 микросекунды. Операция взятия замка является идеальной (константное время) и занимает 4 микросекунды. Оправдано ли использование оптимистичной синхронизации?
Допустима ли для регулярного регистра такая ситуация: writeStart[A](R=2)writeEnd[A](R=2)writeStart[A](R=3) read[B](R==3)read[B](R==2)writeEnd[A](R=3)