Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Не подключаются стандартные заголовочные файлы Установил Visual Studio 2019. Сильно в процесс установки не вникал (может, что не установилось?) //#define CF #include <cstddef> #ifdef CF #include <iostream> #else #include <fstream> #endif #include <vector> https://www.cyberforum.ru/ cpp/ thread2564134.html Особенности references to volatile pointers C++
Всем привет! Вопрос 1: что не так с этим кодом? https://rextester.com/EZRD22222 #include <utility>
C++ как сделать через if так , что бы и в первом и во втором примере , каждый раз происходило умножение только на один множ подскажите , пожалуйста ,как сделать с помощь if так , что бы и в первом и во втором примере , каждый раз происходило умножение только на один множитель ? #include<iostream> using namespace std; int main() { double r1, r2; int i,j, n=0; https://www.cyberforum.ru/ cpp/ thread2563566.html C++ Минимальное количество шагов шахматного коня, чтобы достигнуть определенной позиции на шахматной доске https://www.cyberforum.ru/ cpp/ thread2562755.html
Всем доброго времени суток) У меня такой вопрос: есть неограниченная шахматная доска, с консоли мы вводим сколько примеров будет и сколько есть шахматных коней на доске, и их начальные точки(то есть , где они находятся), и точки к которым кони должны дойти за наименьшее количество шагов. Вот как должно выглядеть: 2 - количество примеров 1 - количество шахматных коней 5 5 ...
Получить нормально распределенную выборку из равномерно распределенной C++
Добрый день, очень нужна помощь, никак не разберусь. Задание звучит так: составить программу, которая позволяет производить генерацию генеральной совокупности случайной величины в соответствии с заданным законом распределения. Делать это нужно на с++. Закон распределения - в картинке, код - это то, что из меня вылезло во время танца с бубном (и, скорей всего, никакого отношения к моей задаче не...
C++ Определить куда указывает ярлык https://www.cyberforum.ru/ cpp/ thread2562215.html
Вот имеется ярлык, допустим C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Embarcadero RAD Studio 10.2\C++Builder 10.2.lnk Если зайти в свойства, увидим, что он ссылается на C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\bds.exe Как программно это считать?
C++ Comparison of a boolean expression with an integer other than 0 or 1 Всем привет. Есть задача - реализовать сравнение чисел в виде a < b < c. Количество < неограничено. Мое решение на данный момент представляет собой это: #include <iostream> #include <cassert> https://www.cyberforum.ru/ cpp/ thread2562172.html Вызвано исключение SFML C++
При сборке проекта столкнулся с ошибкой: Вызвано исключение по адресу 0x0F922786 (sfml-system-d-2.dll) в Game.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000007. При сборке в Debug такого не происходит. Все dll подключил. entity.h #include <SFML/Graphics.hpp> using namespace sf;
C++ Вызвано исключение: нарушение доступа для чтения. _Parent_proxy было 0xFFFFFFFFFFFFFFF7 https://www.cyberforum.ru/ cpp/ thread2561905.html
Товарищи, нужна помощь! В функции Space вызывается исключение, не могу понять из-за чего Если что задание звучало так: Написать программу, вычисляющую площади всех возможных треугольников на множестве точек n-мерного пространства. То есть на вход подается матрица n на m когда подобно этому реализую просто многопоточку все норм а мапредьюс не хочет пахать(((
C++ Представить полученную информацию в виде списка характеристик В результате проведённого анкетирования Иванова Ивана Ивановича были определены ответы на поставленные вопросы (год рождения, семейное положение, увлечения, любимые времена года). Представить полученную информацию в виде списка характеристик, каждой из которых соответствует список значений характеристики. Определить процедуры добавления и удаления для характеристик и их значений. https://www.cyberforum.ru/ cpp/ thread2561728.html
Клонировать тип данных так, что бы в нём отсутствовал квалификатор volatile C++
Всем привет! Как изготовить мета-функцию, которая на входе получает любой тип данных, а на выходе возвращает его же, только без квалификатор volatile. При этом, она не просто убирает квалификатор верхнего уровня, а вообще удаляет любые упоминания о нем. Например: no_volatile<volatile int>::type --> int no_volatile<volatile int* volatile>::type --> int*
C++ Распределить задачи по процессорам так, чтобы выполнение всех задач было завершено в кратчайший срок https://www.cyberforum.ru/ cpp/ thread2561321.html
не могу понять в чем ошибка вот условие задачи Даны m одинаковых процессоров и n независимых задач, каждая из которых может решаться на любом процессоре. Время решения каждой задачи равно ti, i = 1…n. Как распределить задачи по процессорам таким образом, чтобы выполнение всех задач было завершено в кратчайший срок?#include <iostream> #include <stdio.h> #include "mpi.h" #include <math.h>...
2710 / 864 / 327
Регистрация: 10.02.2018
Сообщений: 2,044
02.01.2020, 16:41 0

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

02.01.2020, 16:41. Показов 4183. Ответов 30
Метки (Все метки)

Ответ

Цитата Сообщение от squareroot Посмотреть сообщение
А спинлок в бусте тоже кажется ошибочным ?
Если под стандартным понимать цикл в котором exchange чередуется с yield, то не кажется. По-моему, именно такой вариант оптимален. Самый быстрый вариант, оставить в цикле только exchange, а yield убрать. Однако, в некоторых случаях это может оказаться плохим решением. Например, если у нас всего одно ядро и сейчас работает поток пытающийся получить блокировку, а уже получивший блокировку поток приостановлен, то получится бесполезно потраченный квант времени. Пока квант не закончится, первый поток будет повторять попытки блокировки, а второй поток спать. Что-то подобное возможно на множестве ядер, при условии полной загрузки всех ядер большим количеством потоков. Получивший блокировку поток может ждать своего кванта, а желающий получить блокировку будет занимать квант попытками exchange. В обоих случаях именно yield переключит контекст и тем самым оптимизирует работу компа. В большинстве же случаев (не 100% загрузка всех имеющихся ядер) yield будет практически бесполезен. Но это моё мнение, лично мне не приходилось активно пользоваться спинлоками.

Вернуться к обсуждению:
Spinlock c std::this_thread::yield C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.01.2020, 16:41
Готовые ответы и решения:

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

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

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

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

30
02.01.2020, 16:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.01.2020, 16:41
Помогаю со студенческими работами здесь

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

Ошибка: 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 в...

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

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru