Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Вызвано исключение: нарушение доступа для чтения. _Parent_proxy было 0xFFFFFFFFFFFFFFF7 https://www.cyberforum.ru/ cpp/ thread2561905.html
Товарищи, нужна помощь! В функции Space вызывается исключение, не могу понять из-за чего Если что задание звучало так: Написать программу, вычисляющую площади всех возможных треугольников на... что-то мне подсказывает, что проблема в ссылке map<vector<int>, unsigned long int> &triangels; в строке 54 несинхронизированный доступ к мапе из разных потоков
C++ Не подключаются стандартные заголовочные файлы https://www.cyberforum.ru/ cpp/ thread2564134.html
Установил Visual Studio 2019. Сильно в процесс установки не вникал (может, что не установилось?) //#define CF #include <cstddef> #ifdef CF #include <iostream> #else #include <fstream>... L0M, не могу найти. У меня русская версия. Поискал "SDK", "Windows", "Платформа", но по теме ничего не находит в настройках. Может это быть из-за нового интерфейса VS2019?
C++ Представить полученную информацию в виде списка характеристик https://www.cyberforum.ru/ cpp/ thread2561728.html
В результате проведённого анкетирования Иванова Ивана Ивановича были определены ответы на поставленные вопросы (год рождения, семейное положение, увлечения, любимые времена года). Представить...
C++ Минимальное количество шагов шахматного коня, чтобы достигнуть определенной позиции на шахматной доске Всем доброго времени суток) У меня такой вопрос: есть неограниченная шахматная доска, с консоли мы вводим сколько примеров будет и сколько есть шахматных коней на доске, и их начальные точки(то... Так задача найти минимально короткий путь из точки а к точке б для шахматного коня - как было в заголовке? Или найти два пути для двух коней, и что-бы второй конь не мог использовать клетки, по... https://www.cyberforum.ru/ cpp/ thread2562755.html
Определить куда указывает ярлык C++
Вот имеется ярлык, допустим C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Embarcadero RAD Studio 10.2\C++Builder 10.2.lnk Если зайти в свойства, увидим, что он ссылается на C:\Program... liv, я тут буквально неделю назад закончил установку ярлыка на столе клиента. Уффф... И подумал. А вдруг придется анализировать его ярлычки? И твой код тут окажется как нельзя кстати. Пока положил...
Получить нормально распределенную выборку из равномерно распределенной C++
Добрый день, очень нужна помощь, никак не разберусь. Задание звучит так: составить программу, которая позволяет производить генерацию генеральной совокупности случайной величины в соответствии с...
C++ Распределить задачи по процессорам так, чтобы выполнение всех задач было завершено в кратчайший срок не могу понять в чем ошибка вот условие задачи Даны m одинаковых процессоров и n независимых задач, каждая из которых может решаться на любом процессоре. Время решения каждой задачи равно ti, i =... Даны m одинаковых процессоров и n независимых задач... Ты предлагаешь решить вопрос над которым уже десятилетия бьются десятки тысяч бородатых программистов и хардварщиков? Половине из которых за... https://www.cyberforum.ru/ cpp/ thread2561321.html Особенности references to volatile pointers C++
Всем привет! Вопрос 1: что не так с этим кодом? https://rextester.com/EZRD22222 #include <utility> references to volatile pointerspointers тут не важно Вопрос 1: что не так с этим кодом?Он не компилируется. A reference to type “cv1 T1” is initialized by an expression of type “cv2 T2” as follows:...
C++ Comparison of a boolean expression with an integer other than 0 or 1 Всем привет. Есть задача - реализовать сравнение чисел в виде a < b < c. Количество < неограничено. Мое решение на данный момент представляет собой это: #include <iostream> #include... Потому что ты здесь сравниваешь не переменные, а результат предыдущего сравнения - true < c Имеем: assert((3 < a < 7) == true); Добавим вывод: template <class T> class Comparator { https://www.cyberforum.ru/ cpp/ thread2562172.html C++ Вызвано исключение SFML https://www.cyberforum.ru/ cpp/ thread2562129.html
При сборке проекта столкнулся с ошибкой: Вызвано исключение по адресу 0x0F922786 (sfml-system-d-2.dll) в Game.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000007. При сборке в... sfml-system-d-2.dll d - означает debug, соответственно для релизной конфигурации нужно библиотека sfml-system-2.dll(или как то так, без d короче)
C++ как сделать через if так , что бы и в первом и во втором примере , каждый раз происходило умножение только на один множ https://www.cyberforum.ru/ cpp/ thread2563566.html
подскажите , пожалуйста ,как сделать с помощь if так , что бы и в первом и во втором примере , каждый раз происходило умножение только на один множитель ? #include<iostream> using namespace... посмотрите в википедии ряд Фарея
C++ Клонировать тип данных так, что бы в нём отсутствовал квалификатор volatile Всем привет! Как изготовить мета-функцию, которая на входе получает любой тип данных, а на выходе возвращает его же, только без квалификатор volatile. При этом, она не просто убирает... oleg-m1973, концепты в следующем году подвезут, наверное. https://www.cyberforum.ru/ cpp/ thread2561697.html
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
02.01.2020, 12:22  [ТС] 0

Spinlock c std::this_thread::yield - C++ - Ответ 14142989

02.01.2020, 12:22. Показов 4244. Ответов 30
Метки (Все метки)

Ответ

Цитата Сообщение от Ygg Посмотреть сообщение
Мне ваш вариант кажется ошибочным.
В моём понимании, спинлоком нужно блокировать очень короткие операции. Участки кода, которые выполняются долго должны блокироваться чем-то переключающим контекст и ждущим без загрузки ЦПУ, к примеру мьютексом. Если исходить из быстротечности кода внутри блокировок спинлока, то можно поступиться загрузкой ЦПУ на время ожидания блокировки, так как переключение контекста может занять времени больше чем ожидание освобождения спинлока. Вы вводите отдельный цикл с yield, который даёт искусственную задержку блокировки и при этом всё так же загружает ЦПУ.
А спинлок в бусте тоже кажется ошибочным ?

Вернуться к обсуждению:
Spinlock c std::this_thread::yield C++
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.01.2020, 12:22
Готовые ответы и решения:

С++ memory ordering: fetch_sub(acquire) и spinlock на основе atomic_flag (Энтони Вильямс "Мультитрид в действии")
Читаю Вильямса по мультитриду. 1) В книге приведён пример класса spinlock на основе atomic_flag: class spinlock_mutex{ ...

Не могу разобраться как обновить в std::map<std::string, вектор_структур>
Не могу разобраться как обновить вектор структур после его добавления в map без удаления и перезаписи struct pStruct { int...

std::string, std::fstream, ошибка кучи
где то начало вылетать при операции += с локальной переменной std::string. Заменил на свой qString. Замечательно, то же самое... ошибка при...

30
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.01.2020, 12:22
Помогаю со студенческими работами здесь

Как проинициализировать std::stack<const int> obj ( std::stack<int>{} );
добрый день. вопрос в коде: http://rextester.com/VCVVML6656 #include &lt;iostream&gt; #include &lt;stack&gt; //-std=c++14...

std::filesystem && std::asio и пр
Пытался найти хоть какие-то сроки включения всего этого в стандарт (так же ожидается lexical_cast, any, string_algo и т.д.) и вообщем везде...

Ошибка: E2034 Cannot convert 'int' to 'std::vector<std::vector<TRabbitCell,std::allocator<TRabbitCell>>...
Есть двухмерный вектор: std::vector&lt;std::vector&lt;TRabbitCell&gt; &gt; *cells(5, 10); Пытаюсь заполнить его объектами класса...

Перевод строк std::string, std::wstring в Unicode (String)
Собственно столкнулся с проблемой, как корректно перевести к примеру текст из Edit1-&gt;Text в std::string или std::wstring и...

This_thread::yield что делает?
Добрый день! Что делает функция yield(), можете привести небольшой пример, если не сложно?

0
Новые блоги и статьи
Сериализация данных с Apache Avro в Kafka
Javaican 12.03.2025
Apache Kafka стала одним из ключевых решений для работы с большими потоками данных. Однако с ростом объемов передаваемых данных возникает проблема: как эффективно сериализовать и десериализовать. . .
Создание потребителей Kafka с помощью Reactor Kafka
Javaican 12.03.2025
Reactor Kafka — это библиотека, объединяющая Apache Kafka с реактивным программированием на базе Project Reactor. Такое сочетание позволяет строить неблокирующие, асинхронные приложения с контролем. . .
Ключевые слова Python
py-thonny 12.03.2025
Ключевые слова — не просто часть синтаксиса, а настоящий каркас языка, определяющий его возможности и ограничения. В Python существует 35 ключевых слов и 4 так называемых "мягких ключевых слова" —. . .
Сортировка в Python: Подробный обзор sorted() и .sort()
py-thonny 12.03.2025
В Python для решения задач сортировки предусмотрены два основных инструмента: функция sorted() и метод . sort(). На первый взгляд, различия между ними могут показаться незначительными, но когда дело. . .
Автоматизация задач в HCL Notes
Mr. Docker 12.03.2025
Если вы когда-нибудь работали с HCL Notes (раньше известным как Lotus Notes), то наверняка испытали смешанные чувства. С одной стороны, это мощная платформа для корпоративных приложений, с другой —. . .
Установка и настройка HCL Notes
Mr. Docker 12.03.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) — это не просто почтовый клиент, а целая корпоративная платформа для коллективной работы. Если вы когда-нибудь попадали в компанию, где все. . .
Разработка API GraphQL в Java
Javaican 12.03.2025
Технология GraphQL, созданная Facebook в 2012 году и выпущенная в открытый доступ в 2015, постепенно превратилась из экспериментальной альтернативы REST в один из основных подходов к созданию API. . . .
Производительны­е API с Java и gRPC
Javaican 12.03.2025
Традиционные подходы к построению API, такие как REST, долгое время доминировали на рынке, но растущие требования к производительности, масштабируемости и надежности заставляют инженеров искать. . .
Лучшие приёмы и практики CI/CD пайплайнов
Mr. Docker 12.03.2025
CI/ CD пайплайны — это полноценная методология, обеспечивающая автоматизацию процессов сборки, тестирования и развертывания кода. По сути, они представляют собой набор практик, направленных на. . .
Обзор и лучшие практики Docker и Docker compose
Mr. Docker 12.03.2025
Принцип "запускается на моей машине" перестал быть отговоркой с появлением Docker. Вместо этого разработчики могут гарантировать, что их код будет работать одинаково, независимо от окружения. Это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru