Форум программистов, компьютерный форум CyberForum.ru

Ошибки в многопоточном вычислении средствами с++11 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Неправильно считает http://www.cyberforum.ru/cpp-beginners/thread1307827.html
#include<iostream> #include<clocale> #include<cmath> #include<cstdlib> #include<cstring> using namespace std; double volume(double r1, double r2) { return (4./3.)*M_PI*pow(r1,3)-(4./3.)*M_PI*pow(r2,3); }
C++ Разница между перегрузкой операторов внешней или внутренней функцией Перегружаю operator* (умножаю экземпляры своего класса между собой). Как лучше перегрузить: MyClass operator*(MyClass a, MyClass b){}или MyClass MyClass::operator* (const MyClass& a){}Страуструп предпочитает внешние функции, в интернете находил сторонников внутренних, но никто не приводит каких-либо аргументов... http://www.cyberforum.ru/cpp-beginners/thread1307808.html
C++ Странности с неразрешёнными файлами include (Kubuntu, NetBeans)
Всем привет. Буквально несколько дней назад я начал осваивать C++. Мне захотелось попробовать из готовых примеров создать демон, который я ранее написал на PHP. Назначение демона - соединение раз в секунду с базой данных, проверка значений в определённых таблицах и в зависимости от них выполнение неких заложенных в логику правил. Обычно пользоваться готовыми примерами мне удавалось...
C++ Ошибка в программе
Откуда берутся эти числа? Задание (если нужно): Дан одномерный массив из 100 элементов, состоящий из случайных вещественных чисел в диапазоне от -35 до 50. Вывести в порядке не убывания (возрастания) те положительные элементы этого массива, которые меньше заданного числа Х (0<X<50). // ConsoleApplication1.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h"...
C++ Странности с неразрешёнными файлами include (Kubuntu, NetBeans) http://www.cyberforum.ru/cpp-beginners/thread1307796.html
Всем привет. Буквально несколько дней назад я начал осваивать C++. Мне захотелось попробовать из готовых примеров создать демон, который я ранее написал на PHP. Назначение демона - соединение раз в секунду с базой данных, проверка значений в определённых таблицах и в зависимости от них выполнение неких заложенных в логику правил. Обычно пользоваться готовыми примерами мне удавалось...
C++ Контейнер list Добрый день! Помогите пожалуйста разобраться, никогда раньше не работал с листом. Задача следующая: В числовой последовательности вставить после каждого простого числа удвоенное среднее геометрическое всех элементов последовательности. Реализация при помощи STL. Заранее Спасибо! #include <iostream> #include <time.h> #include <stdlib.h> #include <math.h> #include <list> подробнее

Показать сообщение отдельно
Satansoft
 Аватар для Satansoft
7 / 7 / 1
Регистрация: 27.02.2012
Сообщений: 698
22.11.2014, 18:41     Ошибки в многопоточном вычислении средствами с++11
Задачка:
20 детей едят из одной миски, в которой 100 слив, когда ребенок хочет кушать, он берёт из миски одну сливу, только если миска не пуста, если же пуста - зовёт маму, чтобы та наполнила её (соотвественно 100 слив), создать многопоточное приложение, реализующее задачу.

Есть класс MainWindow, в котором определены 3 метода:

Готовка:
C++
1
2
3
4
5
6
int Cooking_a()
        {
            int food=M;
 
            return food;
        }
Обед:
C++
1
2
3
4
5
6
7
8
9
10
 int Dinner_a(int food)
        {
            std::mutex eating;
            eating.lock();
            cout<< "Child ate";
            food--;
            eating.unlock();
 
            return 0;
        }
Вызов:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int Call_f()
{
std::thread Cannibals[N];
    while(true)
    {
        std::thread cook = std::thread(&MainWindow::Cooking_a, this);
        cook.join();
 
        int food=Cooking_a(); 
 
 
        for(int i=0;i<food;i++)
                {
                   int coven = M;
                   Cannibals[i] = std::thread(&MainWindow::Dinner_a, this, coven);
                   coven --;
                   Cannibals[i].join(); 
                }
}
 
    }
Вызов Call_f() происходит из main. На этапе выполнения программа зависает.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru