|
|
Другие темы раздела | |
C++ UB в самописном пуле потоков
https://www.cyberforum.ru/ cpp-beginners/ thread1924517.html Всем привет. Примерно год назад писал пул потоков. Решил заюзать его в лабораторке на 4ом курсе. Задача простая, посчитать умножение матриц параллельно и сравнить производительность вычислений на цпу и гпу. Вот репозиторий: https://github.com/ANDR-ASCII/PerformanceComparison Вычисления на гпу находятся в другом репозитории. А конкретно проблема в чем? У меня пир завершении программы из 10... |
Синхронизация доступа к данным с использованием std::mutex C++ Почему при использовании мьютексов их обычно создают где то в отдаленной от вызова области? Стандартный пример выглядит приблизительно так: std::mutex m; void foo() { m.lock(); std::cout << __FUNCTION__ << std::endl; m.unlock(); |
C++ Шаблоны как параметры шаблона
https://www.cyberforum.ru/ cpp-beginners/ thread1924447.html Привет, в книге увидел такой пример template<template<typename T> class x> class y; но из объяснений в книге я совершенно ничего не понял, можете пожалуйста объяснить смысл этого кода? |
C++ Скрытие вводимого текста знаком "*"
https://www.cyberforum.ru/ cpp-beginners/ thread1924445.html Например, у меня в консоли есть команда "cin >> a;" И вот я хочу ввести "1234" Мой вопрос: возможно ли это сделать как ввод пароля в браузерах, когда я нажимаю клавишу, а она отображается только "****"? Заранее спасибо. |
Сколько денег останется у Пети, бездумно покупающем мороженое C++ У первоклассника Пети m рублей. Мороженое стоит k рублей. Петя решил наесться досыта мороженого, для этого он покупал по одному мороженому и съедал ее до тех пор, пока ему хватало денег. Как Пете узнать, сколько денег останется у него в конце концов? Учтите, что Петя делить еще не умеет, а умеет только вычитать и складывать. Сколько мороженого он может съесть? Правильно? #include... |
C++ Как убрать шумы и помехи на видео? Подскажите пожалуйста какими средствами и куда копать, чтобы убирать шумы и прочие помехи на видео, в дальнейшем нужно будет делать это в реальном времени? Спасибо. https://www.cyberforum.ru/ cpp-beginners/ thread1924434.html |
C++ Вывести таблицу значений функции Написать программу вычисления таблицы значения функции f(x) на промежутке x принадлежит xн и xк с шагом h напишите пожалуйста полный код, буду очень благодарен. П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом. Редактор формул внизу страницы https://www.cyberforum.ru/ cpp-beginners/ thread1924428.html |
Ввод вывод в файл и консоль.(Кириллица) C++ int main() { setlocale(LC_ALL, "rus"); ifstream a("qwe.txt"); string x, y; getline(cin, x); //1- ввод из консоли в (x) a >> x; //2- вывод строки в файл getline(a, y); //3- считать строку из файла в (y) cout << y << endl; //4- вывод (y) в консоль |
C++ Организовать хранение данных с применением контейнерного класса set
https://www.cyberforum.ru/ cpp-beginners/ thread1924417.html День добрый! Информационная система содержит сведения об отправлении поездов дальнего следования. Для каждого поезда указывается: номер, станция назначения, время отправления. Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций: • первоначальный ввод данных в информационную систему (с клавиатуры или из файла); • вывод сведений по всем поездам; •... |
C++ Вектор и наследуемые классы
https://www.cyberforum.ru/ cpp-beginners/ thread1924397.html Удалить, ошибся, простите. |
C++ Каждую малую латинскую букву строки заменить на стоящую перед ней в алфавите Дана строка символов. Внести в текст изменения. Каждую малую латинскую букву заменить стоящей перед ней в алфавите. Букву a заменять буквой z. |
C++ Используя оператор while определить сумму всех нечетных чисел в диапазоне от 1 до 99
https://www.cyberforum.ru/ cpp-beginners/ thread1924317.html Оператор while |
21.02.2017, 21:50 | 0 |
Синхронизация доступа к разделяемой памяти - C++ - Ответ 1014001621.02.2017, 21:50. Показов 10187. Ответов 73
Метки (Все метки)
Ответ
Каким конкретно способом поток будет ковырять в носу, зависит от конкретной задачи
Если строишь велосипеды, то наверняка такое может случиться. Если использовать готовые решения, то скорее всего этих проблем не будет, т.к. эти проблемы авторы уже учли Всё зависит от того, что такое "вхолостую" Спинлок - это, грубо говоря, специальный вид мьютекса, для которого процесс ковыряния в носу настроен на ожидание в цикле освобождения семафора. Мьютексы нужно использовать там, где критическая секция короткая. В таких условиях будет намного эффективнее проболтаться десяток тактов в цикле, чем тратить тысячи тактов на засыпание и просыпание Так реализован мьютекс в glibc. Т.е. для мьютекса ковыряние в носу настроено на засыпание. Мьютексы нужно использовать там, где ожидание может быть сравнительно долгим или потоков много и они гарантированно будут ломиться к ресурсу одновременно в большом количестве. В таких случаях засыпание приведёт к снижению нагрузки на процессор по сравнению с ожиданием в цикле Операционная система его разбудит, когда освободится мьютекс При этом вариант ковыряния в носу (жужжать или спать) - это заранее запрограммированное действие, а вовсе не результат деятельности планировщика задач Да По сути так и надо делать, если я правильно понимаю, что делает atomic_flag_test_and_set_explicit. Такая операция по умному называется trylock Вернуться к обсуждению: Синхронизация доступа к разделяемой памяти C++
1
|
21.02.2017, 21:50 | |
Готовые ответы и решения:
73
Реализация стека строк в разделяемой памяти (MPI) Как сохранить данные контейнера в разделяемой памяти Есть ли оверхед от использования разделяемой памяти, в сравнении с глобальной? Аська на основе разделяемой памяти |
21.02.2017, 21:50 | |
21.02.2017, 21:50 | |
Помогаю со студенческими работами здесь
0
Запись и считывание разделяемой памяти Хранение указателей в разделяемой памяти Считать структуру из разделяемой памяти Сделать массив из 10 int в разделяемой памяти |