Реализация несинхронизированного доступа к общей памяти (потоки)
Здравствуйте! Подскажите код на основе след. описания:
Допустим, два потока разделяют участок памяти соответствующий двум глобальным
переменным программы: A1 и A2.
Первый поток увеличивает значение переменных A1 и A2. Второй поток выводит значения
переменных A1 и A2 на дисплей. Для удобства анализа, введены задержки. После
увеличения A1 — 1с, после увеличения A2 – 1с, перед выводом на дисплей — 2с.
Случайным образом, пауза после A1 может увеличиться до 3 с.
Следовательно, при одновременном выполнении двух потоков может возникнуть следующие
последовательности выполнения операций во времени:
поток 1 поток 2
A1=A1+1
Ожидание 1с Ожидание 2с
A2=A2+1
Печать РАВНЫХ значений A1 и A2
или
A1=A1+1
Ожидание 3с Ожидание 2с
Печать НЕ РАВНЫХ значений A1 и A2
A2=A2+1
Ожидание 1 с
P.S. Если у кого есть, выложите любую простую прогу с несинхронизированными потоками
P.S.S Язык программирования Си (извиняюсь, забыл)