C语言程序员程序园

c++基础(thread)

2019-05-02  本文已影响18人  zidea
Cplusplus-tutorial-in-hindi.jpg

线程是我们在编程中逃不开的话题,无论 java 、c# 还是 go 各种语言都有自己一套支持并发编程的支持。今天我们就来简单了解一下如何在 c++ 中创建thread以及使用thread

#include <iostream>
#include <thread>

static bool is_Finished = false;

void do_work()
{
    while (!is_Finished)
    {
        std::cout << "working...\n";
    }
}

int main(int argc, char const *argv[])
{

    std::thread worker(do_work);

    std::cin.get();
    is_Finished = true;

    worker.join();

    std::cin.get();
}

void do_work()
{
    using namespace std::literals::chrono_literals;
    while (!is_Finished)
    {
        std::cout << "working...\n";
        std::this_thread::sleep_for(1s);
    }
}
std::this_thread::sleep_for(1s);

可以让thread休眠 1 秒钟

g++ -std=c++14 thread1.cpp -o thread1
void do_work()
{
    using namespace std::literals::chrono_literals;
    std::cout << "started thread id = " << std::this_thread::get_id() << std::endl;
    while (!is_Finished)
    {
        std::cout << "working...\n";
        std::this_thread::sleep_for(1s);
    }
}
std::cout << "started thread id = " << std::this_thread::get_id() << std::endl;
```
输出 thread 的 id。
上一篇 下一篇

猜你喜欢

热点阅读