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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
melikov
0 / 0 / 0
Регистрация: 25.10.2016
Сообщений: 15
#1

Реализовать в приложении работу с потоками - C++

10.11.2016, 09:28. Просмотров 117. Ответов 1
Метки нет (Все метки)

Создать 3 функции потоков, каждая из которых выводит в цикле из 25 итераций сообщение «Это поток № номер_потока». Сообщение заносить в строку, на которую указывает глобальная переменная str. Сделать синхронизацию потоков при помощи мьютексов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2016, 09:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализовать в приложении работу с потоками (C++):

Подскажите литературу, где основной уклон - на работу с потоками - C++
Доброго времени суток. Знаю, что список литературы лежит на форуме, но не могли бы вы подсказать в какой книжечке хорошо разжеваны потоки и...

Нужна хорошая книжка по ООП, раскрывающая работу с потоками - C++
Привет! Не подскажите хорошую книгу по ООП, особенно интересен вопрос ,создания многопоточного приложения(какой-нибудь игры и т.д). Заранее...

Нужно пояснить работу с потоками ofstream, ifstream, fstream - C++
Лектор не поставил коментариев, а я сейчас как дурак сижу разшифровую. Помогите, особенно на функции "void testofiles()" #include...

Как реализовать таймер в консольном приложении? - C++
И как-нибудь без while и sleep, чтобы программа не висела. Пытался делать через winapi, но не понял как функцию, выполняемую при "тикании"...

Как реализовать многопоточность в консольном приложении С++ - C++
Добрый день уважаемые программисты и системные администраторы! Я начинающий программист на С++ и мне необходимо написать программу в...

Можно ли реализовать игру змейка в консольном приложении - C++
можно ли реализовать игру змейка в консольном приложении??? обдумывая решения столкнулся с проблемами вывода змейки при поворотах... Можете...

1
Croessmah
Эксперт CЭксперт С++
13409 / 7559 / 853
Регистрация: 27.09.2012
Сообщений: 18,608
Записей в блоге: 3
Завершенные тесты: 1
10.11.2016, 09:45 #2
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
//clang 3.7.0
 
#include <iostream>
#include <thread>
#include <mutex>
#include <string>
#include <vector>
 
 
 
std::string str;
std::mutex mut;
 
 
void threadFunc(unsigned num)
{
    using namespace std::literals::string_literals;
    std::string line = "thread №: "s + std::to_string(num) + "\n"s;
    for (unsigned i = 0u; i < 25u; ++i) {
        std::lock_guard<std::mutex> l(mut);
        str += line;
    }
}
 
 
int main()
{
    unsigned threadsCount = 3u;
    std::vector<std::thread> ths;
    for (unsigned i = 0u; i < (threadsCount-1u); ++i) {
        ths.emplace_back(threadFunc, i + 1u);
    }
    threadFunc (ths.size() + 1u);
    
    while (!ths.empty()) {
        if (ths.back().joinable()) {
            ths.back().join();
        }
        ths.pop_back();
    }
    std::cout << str << std::endl;
}
http://rextester.com/CCCL63502
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2016, 09:45
Привет! Вот еще темы с ответами:

Как реализовать циклическую работу программы - C++
Есть программа которая анализирует изображение и результаты дописывает в файл. Как сделать так, чтобы программа каждые 10 секунд проводила...

Реализовать класс Bankomat, моделирующий работу банкомата - C++
Ребят беда, такая интересная задачка попалась мне, вроде ничего особенного но посмотрев глубже показалось очень тяжкой, половина реализаций...

Реализовать класс Bankomat моделирующий работу банкомата. - C++
Реализовать класс Bankomat моделирующий работу банкомата. В классе должны содержатся поля для хранения идентификационного номера банкомата,...

Как реализовать работу с очень большими числами? - C++
Добрый день всем! Очень необходимы светлые мозги, ибо не могу понять в чем проблема. Есть работающая программа: #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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