0 / 0 / 0
Регистрация: 07.01.2018
Сообщений: 8
1

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

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

Что это? Как это исправить?


"ConsoleApplication2.exe" (Win32). Загружено "C:\Users\user\source\repos\ConsoleApplication2\De bug\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.dll". Невозможно найти или открыть 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.dll". Невозможно найти или открыть 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.01.2018, 19:34
Ответы с готовыми решениями:

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

Синхронизация потоков
Есть статический класс к которому я хочу обращаться из разных потоков static class MyLog {...

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

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

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

Добавлено через 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 3
lArtl, ерунду говоришь. Все нормально у него с кодом. Прост это что-то вижуал студиовское https://msdn.microsoft.com/ru-... 41613.aspx
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
07.01.2018, 21:29 4
...
0
192 / 128 / 52
Регистрация: 19.01.2010
Сообщений: 518
07.01.2018, 21:33 5
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 6
Цитата Сообщение от Selot Посмотреть сообщение
lArtl,...
Да я уже увидел. Тупанул. Но и ссылка ваша не к месту)
0
Эксперт С++
8712 / 4294 / 956
Регистрация: 15.11.2014
Сообщений: 9,737
07.01.2018, 21:49 7
Лучший ответ Сообщение было отмечено Snuffycro9 как решение

Решение

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

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

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

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


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

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

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

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

5. ПРОФИТ???!!!
1
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
07.01.2018, 21:55 8
Да вообще жесть, машинально подумал что код некорректно работает, а там просто лог отладки не понравился... Надо больше спать....
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2018, 21:55
Помогаю со студенческими работами здесь

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru