Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Z(x,y)=min{max{sinx,siny},x,y} Как вычислить ф-цию Z(x,y)=min{max{sinx,siny},x,y} если -1.7<=x<=9.4 увеличение по 9.3, а 0<=y<=3 , увеличение по 0.75 . https://www.cyberforum.ru/ cpp-beginners/ thread2489898.html Переменные родительского класса C++
Всем привет! Такая проблема Класс родитель class Layer { public: Layer(); ~Layer();
C++ Ускорение кода https://www.cyberforum.ru/ cpp-beginners/ thread2489857.html
Как ускорить код: #include <iostream> using namespace std; int main(){ int n, q, c = 0;
C++ Прекращается работа программы При запуске в Visual Studio 2019 программа не работает и появляется сообщение "Прекращена работа программы". Подскажите, пожалуйста, как исправить ошибку? #include<iostream> #include<stack>... https://www.cyberforum.ru/ cpp-beginners/ thread2489832.html
Перебор элементов в массиве C++
Условие задачи: Написать отдельную функцию, которая принимает 2 параметра (char, int sum). Дано: 3 * (21 + 17)) / (3 - 1) + 43, если ошибок нет, функция должна вернуть значение 100, а если есть...
C++ Как сделать динамический массив глобальным https://www.cyberforum.ru/ cpp-beginners/ thread2489817.html
Нужно что бы создание, ввод и вывод были в разных функциях #include "pch.h" #include <iostream> using namespace std; int main(){ setlocale(LC_ALL,"Russian");
C++ Побитовые логические выражения https://www.cyberforum.ru/ cpp-beginners/ thread2489805.html
Пишу программу для побитовых логических операций. Приоритет ! = 4, ~ = 4, & = 3, ^ = 2, | = 1. Мои комментарии на русском. '=' показывает результат. Найденные проблемы: 1) x|y^z, это она...
C++ Можно ли так делать ?
Я пока что начинающий, поэтому хочу спросить, можно ли так делать ? #include<iostream> #include<cstdlib> using namespace std; int Factorial(int k) { if(k==1)
C++ Перегруженный оператор ввода Почему ошибка при попытке вывести результат сложения двух матриц? #include <iostream> using namespace std; class Matrix { private: https://www.cyberforum.ru/ cpp-beginners/ thread2489782.html C++ C++ int to an array Здравствуйте ребята мне нужна ваша помощь по созданию программы, которая получает на вход три целых числа и возвращает true только тогда, когда произведение последних цифр двух введенных чисел равно... https://www.cyberforum.ru/ cpp-beginners/ thread2489726.html
Как реализовать функцию? C++
Подскажите как организовать нижеприведенную функцию, чтобы при вызове в main а и b каждый раз генерировали новые числа, у меня она почему-то вообще не работает, не пойму что не так int rand(int a,...
C++ 1001. Обратный корень - Wrong Answer: 3 На Timus Online Judge мое решение не проходит задачу 1001 - Обратный корень. На 3-ем тесте пишет Wrong Answer Вот задача: 1001. Обратный корень Ограничение времени: 2.0 секунды Ограничение... https://www.cyberforum.ru/ cpp-beginners/ thread2489698.html
32 / 21 / 4
Регистрация: 18.11.2012
Сообщений: 955
10.08.2019, 20:57  [ТС] 0

Thread. Многопоточность - C++ - Ответ 13763881

10.08.2019, 20:57. Показов 1895. Ответов 26
Метки (Все метки)

Ответ

Цитата Сообщение от Renji Посмотреть сообщение
Уж сколько раз твердили миру, потоки не должны лезть в глобальные объекты.
Я ж написал, что код не мой, а я в параллельном программировании ничего не понимаю, надеюсь, что только пока, просто спросил для общей картины мира. Что нужно добавить или убрать чтобы процессор не так был загружен.

Я решил иначе, без многопоточности, а чтобы проверить свой ответ пошарил в интернете, где собственно и обнаружил вариант решения, который выложил здесь.

Мой вариант проще:
Кликните здесь для просмотра всего текста
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
string rand_string()
        {
            int len = randint_1(1, 100, randint(1,100));
            string s;
            for (int i = 0; i < len; ++i)
                s += char(randint_1(1, numeric_limits<char>::max()));
            return s;
        }
 
        cout << "\n\nvector<string>\n";
        vector<string> vs(max1);
    
 
        for (int i = 0; i < max1; ++i)
        {
            vs[i] = rand_string();
        }
 
        t1 = system_clock::now();
        sort(vs.begin(), vs.end());
        t2 = system_clock::now();
        cout << "Timw worker algorithm sort: " << duration_cast<milliseconds>(t2 - t1).count() << " ms.\n";
 
        vs.resize(max2);
        for (int i = 0; i < max2; ++i)
        {
            vs[i] = rand_string();
        }
 
        t1 = system_clock::now();
        sort(vs.begin(), vs.end());
        t2 = system_clock::now();
        cout << "Timw worker algorithm sort: " << duration_cast<milliseconds>(t2 - t1).count() << " ms.\n";


Добавлено через 2 минуты
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Здесь лучше сделать const size_t num_threads = std::thread::hardware_concurrency();
Первоначально так и было, только этот вариант закомментирован.

Вернуться к обсуждению:
Thread. Многопоточность C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.08.2019, 20:57
Готовые ответы и решения:

Многопоточность в C++11. std::thread
Привет всем! использую таким образом многопоточность class A { public: void fun() {...

Std::thread автоматическая многопоточность
Есть данный пример создания массива thread и инициализации его в цикле. #include&lt;iostream&gt; ...

Ошибка компиляции "no instance of constructor 'std::thread::thread' matches the argument list"
Не могу сообразить почему возникает ошибка. У меня в классе есть метод, который должен работать в...

Boost::thread std::thread
чем отличается boost::thread( ) от std::thread (с++17)? я спрашиваю не о способе реализации...

26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.08.2019, 20:57

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Boost::thread vs std::thread
Доброго времени суток, решил углубить свои знания, и решил почитать про потоки, бустовые и те что в...

C++11. thread, mutex, thread-safety
есть функция, которая стартует 2 потока: для отлова нажатия клавиш и для выполнения действий void...

Thread
#include &lt;iostream&gt; #include &lt;thread&gt; using namespace std; void task1(){ cout &lt;&lt; &quot;task1&quot;; }...

Thread
Доброго времени суток господа! Вопрос в коде в комментариях. #include &lt;iostream&gt; #include...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.