1 使用普通函数作为线程函数

代码示例:

#include <iostream>
#include <thread>

void ThreadFunction()
{
    std::cout<< "线程函数被启动" << std::endl;
}


int main()
{
    std::thread thread(ThreadFunction);

    thread.join();

    getchar();
    return 0;
}

2 使用类的成员函数作为线程函数

代码示例:

#include <iostream>
#include <thread>


class ThreadFunc
{
public:
    void ThreadFunction()
    {
        std::cout << "线程函数被启动" << std::endl;
    }
};

int main()
{
    ThreadFunc m_ThreadFunc;

    std::thread thread(&ThreadFunc::ThreadFunction,&m_ThreadFunc);

    thread.join();

    getchar();
    return 0;
}

3 Lambda表达式/匿名函数作为线程函数

代码示例:

#include <iostream>
#include <thread>


int main()
{
    std::thread thread{ [] {std::cout << "线程函数被启动" << std::endl; } };

    thread.join();

    getchar();
    return 0;
}

未完待续。

当前分类随机文章推荐

全站随机文章推荐

关于本站站长 StubbornHuang
C++11/std::thread – 可作为线程函数的几种方式总结-StubbornHuang Blog纵使晴明无雨色,入云深处亦沾衣。