Не работает многопоточный код в Kubuntu

Изучаю C++ и дошел до многопоточного программирования. Столкнулся с такой проблемой, что не могу скомпилировать код в CodeBlocks, хотя в онлайн компиляторах он компилируется и результат получается нужный. Работаю на Kubuntu. Что это за проблема и как ее можно решить? Ниже приведу код программы:

#include <iostream>
#include <cstdlib>
#include <string>
#include <thread>
#include <chrono>
#include <mutex>

using namespace std;
mutex m;

//Функция для создания потоков
void mythread(string name, int time, int steps)
{
    for(int k=1;k<=steps;k++)
    {
        //Временная задержка в выполнении команд
        this_thread::sleep_for(chrono::seconds(time));
        //Блокировка доступа к ресурсу
        m.lock();
        //Отображение сообщения в консоли
        cout << "Поток " << name << ":\tсообщение " << k << endl;
        //Разблокировка ресурса
        m.unlock();
    }
}

int main()
{
    int n=5;//Кол-во циклов в потоках
    cout << "Запускаются потоки...\n";
    //Первый дочерний поток
    thread A(mythread, "Alpha", 4,n);
    //Второй дочерний поток
    thread B(mythread, "Bravo", 3,n);
    //Вызов функции в главном потоке
    mythread("Main", 2,n);
    //Ожидание завершения первого дочернего потока
    if(A.joinable())
    {
        A.join();
    }
    //Второго
    if(B.joinable())
    {
        B.join();
    }
    cout << "Выполнение программы завершенно...\n";
    return 0;
}


Ответы (0 шт):