Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Буферы и синхронизация потоков - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как расширить консольное окно http://www.cyberforum.ru/cpp-beginners/thread1208524.html
Как расширить консольное окно, скажем на весь экран его растянуть
C++ C++ Описать структуру с именем DETAL, которая содержит следующие поля: Описать структуру с именем DETAL, которая содержит следующие поля: - Name - название детали; - Sort - сорт изделия; - Date-дата изготовления (структура: day; month, year - день, месяц, год); ... http://www.cyberforum.ru/cpp-beginners/thread1208519.html
C++ Ошибка в коде С++ (сортировка)
как сделать так, чтоб выводило нормальный массив?
C++ Зашифровать файл, используя исключающее или
Здравствуйте. Задача: Есть файл, в котором записаны какие-то символы. Надо поочередно брать каждый символ и менять в нем 1 на 0 и 0 на 1 с помощью XOR. Например, символ 'a' это 01100001....
C++ Структуры в языке C++ и не только http://www.cyberforum.ru/cpp-beginners/thread1208487.html
Вообщем, предыстория такая: для зачета нужно сдать 14 лабораторных, 11 из которых уже выполнено. Все бы ничего, но есть такие, которые в упор не осознаю в полной мере. В данном случае структуры и...
C++ В одномерном массиве, состоящий из n действительных элементов, вычислить: В одномерном массиве, состоящий из n действительных элементов, вычислить: 1) количество элементов массива, лежащих в диапазоне от A до B; 2) сумму элементов массива, расположенных после... подробнее

Показать сообщение отдельно
Убежденный
Ушел с форума
Эксперт С++
15690 / 7200 / 1138
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
15.06.2014, 15:43
Цитата Сообщение от Praktolock Посмотреть сообщение
Не не, не так, пишет только 1, читает только 1. Они не будут оба пытаться писать
Это ничего принципиально не меняет.
Поток А входит в gonnaread, видит, что wbisy равен нулю и получает
доступ на чтение. В это же время поток Б входит в gonnawrite, видит,
что rbisy тоже обнулен и получает доступ на запись. Гонка!

Не по теме:


Правильно "busy", а не "bisy".



Кстати, запись "while (var > 0)" легко может быть соптимизирована
компилятором до чтения var из регистра, в результате чего поток вообще
никогда не выйдет из цикла. Так что здесь еще нужно дополнительное
условие (например, volatile), чтобы цикл заработал как требуется.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru