.Q
8. Предположим, есть реализация dequeue в виде двусвязного списка (то
есть есть указатели на предыдущий и следующий элементы). А
возможна ли реализация, где для связи узлов используется только
одно слово вместо двух (то есть мы хотим сэкономить одно слово
размера sizeof(struct node *))?
.A
Полагаю, речь идёт о циклическом буфере или контейнере где есть указатель на начало и указатель на конец, элементы включают указатель только на следующий элемент. Проход односторонний, с конца в начало.
.Q
9. Предположим, что в многопоточной программе в одном потоке
выполняется код
a = 3;
b = 1;
а в другом потоке
if (b == 1)
sum += a;
(оба потока видят одни и те же а и b, блокировок нет). Если
условие выполнится, то на сколько увеличится sum?