|
Одессит
|
|||||||||||
Синхронизация потоков21.01.2020, 13:44. Показов 11573. Ответов 43
Метки нет (Все метки)
На собеседовании поставили такую задачу:
есть 3 потока, в каждом из которых вызывается функция, в которую передаётся символ. В бесконечном цикле фукция печатает символы. Нужно гарантировать, чтоб символы печатались строго по очереди (ABCABCABCABC...). Как не пытаюсь решить, выходит говнокод. Но есть подозрение, что можно решить каким-то изящным способом. Код ниже - это начальное условие. Как его дополнить, чтоб решить задачу?
![]() Кликните здесь для просмотра всего текста
0
|
|||||||||||
| 21.01.2020, 13:44 | |
|
Ответы с готовыми решениями:
43
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 22.01.2020, 11:15 | |
|
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 22.01.2020, 11:48 | ||
|
Здесь нужна гарантия, что переменная не закэшируется, volatile вроде даёт такую гарантию.
0
|
||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|
| 22.01.2020, 12:21 | |
|
volatile только гарантирует отсутствие оптимизаций (т.е. что в пределах одного потока кэширования переменной не будет). А вот что изменение будет атомарным для всех потоков даёт
std::atomic<char>
0
|
|
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
||||||
| 22.01.2020, 12:21 | ||||||
|
Задача бредовая.
0
|
||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 22.01.2020, 12:37 | |
|
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 22.01.2020, 12:57 | |
|
Битва за volatile стара как мир. Уже кучу копий сломали.
https://stackoverflow.com/ques... -threading
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 22.01.2020, 12:57 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
| 22.01.2020, 13:18 | ||||||
|
не атомарно
0
|
||||||
| 22.01.2020, 13:27 | |
|
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 22.01.2020, 13:41 | |
|
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 22.01.2020, 13:46 | ||
|
Просто запускаешь программу и показываешь, что она выдала неправильный результат.
0
|
||
|
6 / 6 / 2
Регистрация: 27.08.2017
Сообщений: 28
|
|
| 22.01.2020, 13:50 | |
|
1
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 22.01.2020, 13:58 | |
|
0
|
|
| 22.01.2020, 13:58 | |
|
Синхронизация потоков в c++ Синхронизация потоков Синхронизация потоков с++
Синхронизация потоков Event c++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|