Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 07.01.2018
Сообщений: 8

Синхронизация потоков - C++

07.01.2018, 19:34. Показов 2303. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Что это? Как это исправить?


"ConsoleApplication2.exe" (Win32). Загружено "C:\Users\user\source\repos\ConsoleAppli cation2\Debug\ConsoleApplication2.exe". Символы загружены.
"ConsoleApplication2.exe" (Win32). Загружено "C:\Windows\SysWOW64\ntdll.dll". Невозможно найти или открыть PDB-файл.
"ConsoleApplication2.exe" (Win32). Загружено "C:\Windows\SysWOW64\kernel32.dll". Невозможно найти или открыть PDB-файл.
"ConsoleApplication2.exe" (Win32). Загружено "C:\Windows\SysWOW64\KernelBase.dll" . Невозможно найти или открыть PDB-файл.
"ConsoleApplication2.exe" (Win32). Загружено "C:\Windows\SysWOW64\msvcp140d.dll". Невозможно найти или открыть PDB-файл.
"ConsoleApplication2.exe" (Win32). Загружено "C:\Windows\SysWOW64\vcruntime140d.d ll". Невозможно найти или открыть PDB-файл.
"ConsoleApplication2.exe" (Win32). Загружено "C:\Windows\SysWOW64\ucrtbased.dll". Невозможно найти или открыть PDB-файл.
"ConsoleApplication2.exe" (Win32). Загружено "C:\Windows\SysWOW64\ucrtbased.dll". Невозможно найти или открыть PDB-файл.
"ConsoleApplication2.exe" (Win32). Выгружено "C:\Windows\SysWOW64\ucrtbased.dll"
"ConsoleApplication2.exe" (Win32). Загружено "C:\Windows\SysWOW64\kernel.appcore.dll" . Невозможно найти или открыть PDB-файл.
"ConsoleApplication2.exe" (Win32). Загружено "C:\Windows\SysWOW64\msvcrt.dll". Невозможно найти или открыть PDB-файл.
"ConsoleApplication2.exe" (Win32). Загружено "C:\Windows\SysWOW64\rpcrt4.dll". Невозможно найти или открыть PDB-файл.
"ConsoleApplication2.exe" (Win32). Загружено "C:\Windows\SysWOW64\sspicli.dll". Невозможно найти или открыть PDB-файл.
"ConsoleApplication2.exe" (Win32). Загружено "C:\Windows\SysWOW64\cryptbase.dll". Невозможно найти или открыть PDB-файл.
"ConsoleApplication2.exe" (Win32). Загружено "C:\Windows\SysWOW64\bcryptprimitives.dl l". Невозможно найти или открыть PDB-файл.
"ConsoleApplication2.exe" (Win32). Загружено "C:\Windows\SysWOW64\sechost.dll". Невозможно найти или открыть PDB-файл.
Поток 0x2960 завершился с кодом 0 (0x0).
Поток 0x48c завершился с кодом 0 (0x0).
Поток 0x1d28 завершился с кодом 0 (0x0).
Поток 0x2ed0 завершился с кодом 0 (0x0).
Поток 0x1290 завершился с кодом 0 (0x0).
Программа "[11124] ConsoleApplication2.exe" завершилась с кодом 0 (0x0).








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
#include <iostream>
#include <thread>
#include <mutex>
#include <chrono>
#include <condition_variable>
 
using namespace std::chrono_literals;
 
std::mutex mtx;
std::condition_variable cv;
bool triger {false};
 
void foo()
{
    int i(0);
    while(++i < 10)
    {
        std::unique_lock<std::mutex> ul(mtx);
        cv.wait(ul, []{return !triger;});
        std::cout << "foo" << std::endl;
        triger = true;
        std::this_thread::sleep_for(100ms);
        cv.notify_one();
    }
}
 
void bar()
{
    int i(0);
    while(++i < 10)
    {
        std::unique_lock<std::mutex> ul(mtx);
        cv.wait(ul, []{return triger;});
        std::cout << "bar" << std::endl;
        triger = false;
        cv.notify_one();
    }
}
 
int main()
{
    std::thread fooTh(foo);
    std::thread barTh(bar);
 
    fooTh.join();
    barTh.join();
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.01.2018, 19:34
Ответы с готовыми решениями:

Синхронизация потоков
Добрый день. Как синхронизировать потоки, чтобы вывод в stdout был поочередным: foo bar foo bar? Делаю так, но что-то не получается,...

Синхронизация потоков
Есть статический класс к которому я хочу обращаться из разных потоков static class MyLog { public: static int log(std::string,...

Синхронизация потоков
Снова привет. Есть у меня код, который требуется раскидать на потоки. Ниже код: #include &lt;iostream&gt; #include &lt;Windows.h&gt; ...

7
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
07.01.2018, 19:49
Кококо, так нельзя делать. Посмотрите .

Добавлено через 6 минут
А если без этого, то
C++
1
2
    fooTh.join();
    barTh.join();
исправь на
C++
1
2
    fooTh.detach();
    barTh.detach();
или в конце добавь
C++
1
    std::cin.get();
. У тебя потоки barTh и fooTh падают вместе с основным.
0
192 / 128 / 52
Регистрация: 19.01.2010
Сообщений: 518
07.01.2018, 21:26
lArtl, ерунду говоришь. Все нормально у него с кодом. Прост это что-то вижуал студиовское https://msdn.microsoft.com/ru-... 41613.aspx
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
07.01.2018, 21:29
...
0
192 / 128 / 52
Регистрация: 19.01.2010
Сообщений: 518
07.01.2018, 21:33
lArtl, курите мануал. Жоин блокирует исполнение в текущем потоке, пока другой поток не завершится.
Поток 0x2960 завершился с кодом 0 (0x0).
Поток 0x48c завершился с кодом 0 (0x0).
Поток 0x1d28 завершился с кодом 0 (0x0).
Поток 0x2ed0 завершился с кодом 0 (0x0).
Поток 0x1290 завершился с кодом 0 (0x0).
Программа "[11124] ConsoleApplication2.exe" завершилась с кодом 0 (0x0).
код возврата 0 - значит все успешно
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
07.01.2018, 21:39
Цитата Сообщение от Selot Посмотреть сообщение
lArtl,...
Да я уже увидел. Тупанул. Но и ссылка ваша не к месту)
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
07.01.2018, 21:49
Лучший ответ Сообщение было отмечено Snuffycro9 как решение

Решение

Цитата Сообщение от Snuffycro9 Посмотреть сообщение
Что это? Как это исправить?
компилятор сообщает вам,
что не смог найти отладочные символы для системных библиотек windows,
которые были задействованы при сборке вашей программы.

на самом деле это не является ошибкой.
и не влияет на работоспособность итоговой программы.

поэтому решений два:

№1
забить и не париться


№2
1. научиться пользоваться гуглом.

2. почитать инструкцию.

3. найти в горячо любимой студии соответствующую фичу.

4. загрузить с серверов майкрософт отладочные символа
для системных библиотек windows.

5. ПРОФИТ???!!!
1
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
07.01.2018, 21:55
Да вообще жесть, машинально подумал что код некорректно работает, а там просто лог отладки не понравился... Надо больше спать....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.01.2018, 21:55
Помогаю со студенческими работами здесь

Синхронизация потоков в c++
Совершенно не понятно что не так и как правильно. Задача: Отсортировать массив целых чисел. Программу разбить на два синхронизированных...

Синхронизация потоков
На собеседовании поставили такую задачу: есть 3 потока, в каждом из которых вызывается функция, в которую передаётся символ. В...

синхронизация потоков
проблема в следующем: есть 2 потока один считает некоторую сумму в цикле по столбцам матрицы второй должен выводить промежуточную...

Буферы и синхронизация потоков
Всем привет. Суть такова: есть(будет) некая софтина которая подгружает плагины(дмнамические библиотеки) создает поток с функцией из этого...

Синхронизация процессов и потоков
Помогите с заданием, пожалуйста.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru