Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание блок-схемы #define ENCODER_A 2 #define ENCODER_B 3 #define ENCODER_SW 18 #define LED_RED 4 #define LED_GREEN 5 #define DBOUNCE 180 #include <SPI.h> #include <Wire.h> https://www.cyberforum.ru/ cpp/ thread3170037.html C++ Найти диалоговое окно https://www.cyberforum.ru/ cpp/ thread3171466.html
В общем, есть проект на спп (не мой). При ошибке в работе выскакивает диалоговое окно "Сервер занят", в котором есть кнопки "переподключиться к серверу" и "отмена", но кнопка отмены неактивна и... Ну например посмотреть файл ресурсов, у вас будет идентификатор диалога, а дольше найти ?O_o
C++ Как написать специализацию шаблона для параметра, который сам является шаблоном? https://www.cyberforum.ru/ cpp/ thread3170417.html
Есть шаблон template<typename T> class A { public: void func(T param); T Data; }; Возможно ли написать специализацию A<C<size>>::func()? Сначала нужно написать специализацию всего класса для этого, потому как частичная специализация функций отсутствует в языке. Т.е. вот так будет...
Олимпиадная задача на топологическую сортировку графа (помощь с откладкой) C++
Группа солдат-новобранцев прибыла в армейскую часть N666. После знакомства с прапорщиком стало очевидно, что от работ на кухне по очистке картофеля спасти солдат может только чудо. Прапорщик,... Раз вас просят вывести и сам порядок вершин, а не только возможность построения, значит порядок так же важен. Так в условии же сказано После ответа "Yes" на следующей строке выведите N чисел...
C++ Игра на sfml Всем привет. Делаю курсовой проект по программированию на c++ и решил сделать игру с использованием библиотеки SFML это мой первый проект на данной библиотеке и я столкнулся с некоторыми проблемами.... В данный момент у меня не работает преследование игрока врагом. Ты попробуй врага рисовать сначала, тогда и увидишь, работает или нет. также пытался подключить музыку в свой проект но у меня опять... https://www.cyberforum.ru/ cpp/ thread3169622.html C++ Как правильно отправить данные через POSTFIELDS при помощи CURL? https://www.cyberforum.ru/ cpp/ thread3169403.html
Как правильно отправить данные через POSTFIELDS при помощи CURL? Если написать тот же самый код на Python, то он будет работать и сайт выдаёт ответ 200, но на C++ выдаёт ответ 400. Как я понял,... ну помятуя, что curl с std::string не дружит то Оно ему неведомо. Curl, намекает что это библиотека Си.
C++ Как получить полный массив результата Преобразования Фурье используя библиотеку FFTW? https://www.cyberforum.ru/ cpp/ thread3169759.html
Есть ли возможность используя библиотеку FFTW на C# получить полный результат преобразования Фурье, а именно значения амплитуд для отрицательных частот? DVA99, речь об этой библиотеке - https://fftw.org/index.html? Код на C/C++ который делает то что вам требуется у вас есть?
Ошибка в программе: "Программа для генерации и проверки подписей по ГОСТ Р34.10-94" C++
Пишу код. Не понимаю причину, но при попытке проверить подпись всегда выдает "ЭЦП не верна" (при указании правильного ключа, который был сгенерирован). Где здесь ошибка и что изменить в программе,... и что изменить в программе Использовать openssl. Благо ГОСТ там реализован. Не хотите - отладчик в руки и вперед, потому что отлаживать за вас ээту "простыню" никто не будет.
C++ Ошибка C2676: бинарный "!=": "Point" не определяет этот оператор Помогите исправить ошибку! Ошибка в 39 строке: C2676:бинарный "!=": "Point" не определяет этот оператор или преобразование к типу приемлемо к встроенному оператору. #include <algorithm> #include... Ошибка в 39 строке: C2676:бинарный "!=": "Point" не определяет этот оператор или преобразование к типу приемлемо к встроенному оператору. Ну так, так и есть. Нет у вас такого оператора. Но... https://www.cyberforum.ru/ cpp/ thread3169696.html C++ Два приложения, которые обмениваются тройками чисел https://www.cyberforum.ru/ cpp/ thread3171575.html
Здравствуйте, мне необходимо справится с заданием: "Два приложения обмениваются случайными тройками чисел (a, b, c), до тех пор, пока две троки не окажутся равными между собой без учета порядка.... именованный канал Named pipe
C++ Подключение библиотек к проекту C++ https://www.cyberforum.ru/ cpp/ thread3170525.html
Здравствуйте. В рамках работы перепала задача о подключении российской библиотеки VipNet к проекту C++ для работы с шифрами Гост. К сожалению, не нашел толком ни одной статьи в Интернете ни в... SirEagle, если ваша организация легальный пользователь их продуктов, то лучше всего задать ваши вопросы в форме обратной связи на сайте, или позвонить туда.
C++ Использование метода для расчета линеарной интерполяции из стандартной библиотеки Всем привет. Нашел в std функцию std::lerp() По ее описанию понятно что надо передавать минимальное и максимальнео значение в области. И 3 аргумент это в процентах где должно находится текущее... Вроде как не в процентах, а "в долях" (от 0 до 1 для попадания в интервал). Из примера https://en.cppreference.com/w/cpp/numeric/lerp вполне можно понять принцип. https://www.cyberforum.ru/ cpp/ thread3169340.html
фрилансер
 Аватар для Алексей1153
6327 / 5459 / 1108
Регистрация: 11.10.2019
Сообщений: 14,523
18.06.2024, 18:01 0

Потоки и очередь заданий - C++ - Ответ 17338159

18.06.2024, 18:01. Показов 2863. Ответов 3
Метки (Все метки)

Ответ

Winriks, например, так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <thread>
#include <memory>
#include <mutex>
#include <vector>
#include <string>
#include <sstream>
#include <iomanip>
#include <ctime>
 
constexpr int NumberOfThreads = 2;
 
class Request
{
    public:
    size_t index{};
};
 
std::mutex list_mutex;
std::vector<std::unique_ptr<Request>> list;
 
// возвращает nullptr если нужно завершить процесс
std::unique_ptr<Request> GetRequest() noexcept
{
    std::unique_ptr<Request> ptr;
    
    std::scoped_lock(list_mutex);
    if(list.size())
    {
        ptr=std::move(list.front());
        list.erase(list.begin());
    }
    
    return ptr;
}
 
// обрабатывает запрос, но память не удаляет
void ProcessRequest(Request* request) noexcept
{
    double acc{};
    for(int i=0; i<10000; acc+=rand(),i++);
    std::ostringstream oss;
    oss<<"task #"<<std::setw(2)<<request->index<<" processed by "<<std::this_thread::get_id()<<" result="<<acc<<"\n";
    std::cout<<oss.str();
}
 
int main()
{
    srand(time({}));
    
    std::vector<std::thread> trds;
    
    for(size_t i=0; i<100; i++)list.emplace_back(new Request{i});
    
    for(int i=0; i<NumberOfThreads; i++)
    {
        trds.push_back(std::thread([]
        {
            while(auto ptr=GetRequest())ProcessRequest(ptr.get());
        }));
    }
    
    for(auto& i:trds)i.join();
}
Кликните здесь для просмотра всего текста
task # 0 processed by 140111150368320 result=1.07572e+13
task # 1 processed by 140111150368320 result=1.07902e+13
task # 2 processed by 140111150368320 result=1.06653e+13
task # 3 processed by 140111150368320 result=1.06904e+13
task # 4 processed by 140111150368320 result=1.07094e+13
task # 5 processed by 140111150368320 result=1.07427e+13
task # 6 processed by 140111150368320 result=1.07805e+13
task # 7 processed by 140111150368320 result=1.08266e+13
task # 8 processed by 140111150368320 result=1.07662e+13
task # 9 processed by 140111158761024 result=1.06901e+13
task #10 processed by 140111150368320 result=1.07369e+13
task #11 processed by 140111158761024 result=1.0718e+13
task #12 processed by 140111150368320 result=1.07107e+13
task #13 processed by 140111158761024 result=1.07461e+13
task #14 processed by 140111150368320 result=1.0716e+13
task #15 processed by 140111158761024 result=1.06315e+13
task #16 processed by 140111150368320 result=1.06818e+13
task #17 processed by 140111158761024 result=1.08432e+13
task #18 processed by 140111150368320 result=1.08131e+13
task #19 processed by 140111158761024 result=1.0716e+13
task #21 processed by 140111158761024 result=1.07577e+13
task #22 processed by 140111158761024 result=1.06896e+13
task #23 processed by 140111158761024 result=1.06855e+13
task #24 processed by 140111158761024 result=1.07993e+13
task #20 processed by 140111150368320 result=1.07713e+13
task #25 processed by 140111158761024 result=1.07517e+13
task #26 processed by 140111150368320 result=1.07673e+13
task #27 processed by 140111158761024 result=1.0524e+13
task #28 processed by 140111150368320 result=1.0788e+13
task #29 processed by 140111158761024 result=1.06575e+13
task #30 processed by 140111150368320 result=1.07202e+13
task #31 processed by 140111158761024 result=1.05961e+13
task #32 processed by 140111150368320 result=1.07491e+13
task #33 processed by 140111158761024 result=1.07618e+13
task #34 processed by 140111150368320 result=1.08065e+13
task #35 processed by 140111158761024 result=1.07469e+13
task #36 processed by 140111150368320 result=1.07495e+13
task #37 processed by 140111158761024 result=1.07778e+13
task #38 processed by 140111150368320 result=1.06943e+13
task #40 processed by 140111150368320 result=1.0871e+13
task #39 processed by 140111158761024 result=1.06995e+13
task #41 processed by 140111150368320 result=1.07798e+13
task #42 processed by 140111158761024 result=1.07457e+13
task #43 processed by 140111150368320 result=1.06812e+13
task #44 processed by 140111158761024 result=1.07175e+13
task #45 processed by 140111150368320 result=1.07808e+13
task #47 processed by 140111150368320 result=1.07096e+13
task #46 processed by 140111158761024 result=1.06584e+13
task #48 processed by 140111150368320 result=1.06832e+13
task #49 processed by 140111158761024 result=1.07905e+13
task #50 processed by 140111150368320 result=1.0706e+13
task #51 processed by 140111158761024 result=1.07005e+13
task #52 processed by 140111150368320 result=1.06933e+13
task #53 processed by 140111158761024 result=1.06572e+13
task #54 processed by 140111150368320 result=1.06835e+13
task #55 processed by 140111158761024 result=1.06212e+13
task #56 processed by 140111150368320 result=1.0772e+13
task #57 processed by 140111158761024 result=1.08223e+13
task #58 processed by 140111150368320 result=1.07118e+13
task #59 processed by 140111158761024 result=1.07086e+13
task #61 processed by 140111158761024 result=1.08262e+13
task #60 processed by 140111150368320 result=1.06936e+13
task #62 processed by 140111158761024 result=1.06251e+13
task #64 processed by 140111158761024 result=1.0714e+13
task #63 processed by 140111150368320 result=1.07445e+13
task #65 processed by 140111158761024 result=1.06877e+13
task #66 processed by 140111150368320 result=1.07083e+13
task #67 processed by 140111158761024 result=1.0663e+13
task #68 processed by 140111150368320 result=1.07321e+13
task #69 processed by 140111158761024 result=1.06797e+13
task #70 processed by 140111150368320 result=1.07038e+13
task #71 processed by 140111158761024 result=1.0942e+13
task #72 processed by 140111150368320 result=1.08043e+13
task #73 processed by 140111158761024 result=1.07423e+13
task #74 processed by 140111150368320 result=1.06861e+13
task #75 processed by 140111158761024 result=1.07568e+13
task #76 processed by 140111150368320 result=1.07302e+13
task #77 processed by 140111158761024 result=1.06537e+13
task #78 processed by 140111150368320 result=1.06877e+13
task #79 processed by 140111158761024 result=1.06705e+13
task #81 processed by 140111158761024 result=1.07794e+13
task #80 processed by 140111150368320 result=1.0826e+13
task #83 processed by 140111150368320 result=1.07148e+13
task #82 processed by 140111158761024 result=1.07018e+13
task #84 processed by 140111150368320 result=1.07667e+13
task #85 processed by 140111158761024 result=1.06687e+13
task #86 processed by 140111150368320 result=1.08184e+13
task #88 processed by 140111150368320 result=1.07416e+13
task #89 processed by 140111150368320 result=1.07703e+13
task #90 processed by 140111150368320 result=1.07348e+13
task #91 processed by 140111150368320 result=1.06984e+13
task #92 processed by 140111150368320 result=1.07399e+13
task #93 processed by 140111150368320 result=1.06546e+13
task #94 processed by 140111150368320 result=1.08675e+13
task #95 processed by 140111150368320 result=1.0702e+13
task #96 processed by 140111150368320 result=1.06727e+13
task #97 processed by 140111150368320 result=1.07145e+13
task #98 processed by 140111150368320 result=1.06343e+13
task #99 processed by 140111150368320 result=1.07778e+13
task #87 processed by 140111158761024 result=1.07592e+13


Вернуться к обсуждению:
Потоки и очередь заданий C++
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.06.2024, 18:01
Готовые ответы и решения:

Потоки.Работа с файломи.Очередь.Стек.
Полностью рабочий код с очередью.#include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;windows.h&gt; #include &lt;conio.h&gt; #include...

Очередь зависимых заданий
Возможно это уже тема уже выходит за рамки C# для начинающих, но все же задам его здесь. Допустим есть игра, в которой есть куча...

Планировщик заданий ставит задачи в очередь
Добрый день Есть 2 сервера. Все задачи падают в очередь. Один я перезалил. Проблема ушла. Другой нет возможности. Проверка...

3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.06.2024, 18:01
Помогаю со студенческими работами здесь

Очередь с приоитетом и чтение заданий из файла
Задание ,очередь с приоитетом и чтение заданий из файла using System; using System.Collections.Generic; using System.Linq; using...

Потоки и очередь
Возникла небольшая проблема. Есть пять потоков Thread, которые дёргают объекты из очереди Queue и проводят над ними вычисления. Берут...

Потоки и очередь сообщений
Здравствуйте, форумчане. Есть необходимость в вашей помощи, натолкнуть на истину так сказать) В общем постановка задачи такая: есть...

Потоки ставятся в очередь, а не идут параллельно, объясните, пожалуйста
Добрый день, коллеги, разъясните, пожалуйста, наверняка простую ситуацию. Задача стоит в том, чтобы принимать по http одновременно...

Threads Потоки синхронизация, один producer два consumer`a и очередь
Привет. Только начал в шарпы, не говоря уже про потоки и мне тут такую задачку дали Итак дано: один produser два consumer`a. ...

0
Новые блоги и статьи
Protobuf в Go и новый Opaque API
golander 15.03.2025
Распределенные системы опираются на эффективные протоколы обмена данными — о чем вы, скорее всего, прекрасно знаете, если работаете с микросервисной архитектурой. Protocol Buffers (Protobuf) от. . .
Преобразование строк в C++: std::from_chars от C++17 до C++26
NullReferenced 15.03.2025
Конвертация строк в числа — задача, с которой сталкивается практически каждый C++ разработчик. Несмотря на кажущуюся простоту, эта операция таит множество подводных камней и неочевидных последствий. . .
Управление памятью в Java и новые сборщики мусора
Javaican 15.03.2025
Эффективное управление памятью всегда было ахиллесовой пятой высоконагруженных Java-приложений. При разработке на Java мы обычно полагаемся на автоматическое управление памятью через сборщики мусора. . .
Angular или Svelte - что выбрать?
Reangularity 15.03.2025
Во фронтенд-разработке Angular и Svelte представляют собой два совершенно разных подхода к решению схожих задач. Один — полноценный, мощный монолит с корпоративной поддержкой, другой — компактный,. . .
Spring Cloud микросервисы: обнаружение и отслеживание
Javaican 15.03.2025
В разработке корпоративных приложений всё больше команд обращают внимание на микросервисную архитектуру. Но с этой архитектурой приходят и специфичные трудности: как сервисам находить друг друга в. . .
Запуск контейнера Docker в облаке
Mr. Docker 15.03.2025
Что такое Docker-контейнер? Если коротко — это легковесный, автономный пакет, содержащий всё необходимое для запуска приложения: код, зависимости, библиотеки и конфигурации. Когда мы говорим о. . .
Осваиваем Kubernetes: Подробная шпаргалка
Mr. Docker 15.03.2025
Kubernetes — это открытая платформа для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями. Он был создан для решения проблем, с которыми сталкиваются. . .
Лучшие PHP REST API фреймворки
Jason-Webb 15.03.2025
Современные PHP REST API фреймворки предлагают большой набор функциональности: от автоматической валидации данных и управления маршрутизацией до генерации документации и интеграции с различными. . .
Многопоточность в Java с Project Loom: виртуальные или обычные потоки
Javaican 15.03.2025
Многопоточность всегда была одноим из основных элементов в разработке современного программного обеспечения. Она позволяет приложениям обрабатывать несколько задач одновременно, что критично для. . .
Что нового в Swift 6 и особенности миграции
mobDevWorks 15.03.2025
Swift 6 — это новый крупный релиз языка программирования от Apple, анонсированный на WWDC 2024. Если вы следили за эволюцией Swift, то наверняка заметили, что многие значимые возможности, которые. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru