Потоки. Ожидание выполнения потоков с++

493
29 декабря 2016, 08:00

Здравствуйте, подскажите пожалуйста, как заставить 1ю и 2ю функцию выполняться одновременно, а третью ждать пока они обе выполняться? Заранее спасибо. Вот код, но на третье

#include "stdafx.h"
#include <Windows.h>
#include <iostream> 
#include <stdio.h>
#include <thread> 
#include <string>
#include <vector> 
#include <mutex>
#include <future>
#include <conio.h>
using namespace std;
mutex g_lock;
mutex c_lock;
void anyFunc1(mutex& mtx) {
    mtx.lock();
    for (int i = 0; i < 10; i++) {
        Sleep(400);
        cout << "1 \n";
    }
}
void anyFunc2(mutex& mtx) {
    for (int i = 0; i < 10; i++) {
        Sleep(400);
        cout << "2 \n";
    }
    mtx.unlock();
}
void anyFunc3(mutex& mtx) {
    mtx.lock();
    for (int i = 0; i < 10; i++) {
        Sleep(400);
        cout << "3 \n";
    }
    mtx.unlock();
}
int main() {
    mutex mtx;
    setlocale(LC_ALL, "rus");
    thread func_thread1(anyFunc1, ref(mtx));
    thread func_thread2(anyFunc2, ref(mtx));
    thread func_thread3(anyFunc3, ref(mtx));
    func_thread1.join();
    func_thread2.join();
    func_thread3.join();
    system("pause");
    return 0;
}
Answer 1

Ожидание выполнения потока делается через join. Мьютекс для этой задачи не нужен. Как и лишние два потока.

thread func_thread1(anyFunc1);
anyFunc2();
func_thread1.join();
anyFunc3();
READ ALSO
нужно перенести алгоритм dtw в R с помощью Rccp

нужно перенести алгоритм dtw в R с помощью Rccp

В R есть пакет с dtw алгоритмом но он очень медленный, я решил его заменить на dtw который написан на с++ от сюдаСкажу сразу, я только изучаю програмирование...

510
Code-review программы для работы с заметками

Code-review программы для работы с заметками

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

487
Импорт csv в mysql

Импорт csv в mysql

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

592
LEFT JOIN нескольких таблиц выдаёт дубликаты

LEFT JOIN нескольких таблиц выдаёт дубликаты

Делаю билинговую систему к торговой интернет-площадкеВ таблицах tbl_user - пользователи, tbl_billing_refill - пополнения баланса, tbl_billing - покупки/продажи...

596