Launching a new thread

To launch a new thread to perform a task in C++11, one can make use of the standard thread library. The following code shows how to create a thread and execute a set of instructions:

void aFunction(int maxNum) {
    std::vector<int> nums;
    nums.reserve(maxNum);
    int sum = 0;
    
    for (int i = 0; i < maxNum; ++i) {
        nums[i] = rand() % maxNum;
        sum += nums[i];
    }
    float average = sum / static_cast(maxNum);
    std::cout << "The average is: " << average << std::endl;
}

int main(int argc, const char * argv[]) {
    // create a new thread and start execution of aFunction with argument maxNum
    int maxNum = 100;
    std::thread thread1(aFunction, maxNum);
    // wait for a thread to finish execution
    thread1.join();
    
    return 0;
}

Leave a Reply

Your email address will not be published. Required fields are marked *