C++线程池 基于Cpp98的实现 学习2 未完待续

简介

用到了太多的C++11的知识点,所以,暂时学点别的再搞这个。

C++11

特殊函数的认识

       joinable()函数是一个布尔类型的函数,他会返回一个布尔值来表示当前的线程是否是可执行线程(能被join或者detach),因为相同的线程不能join两次,也不能join完再detach,同理也不能detach,所以joinable函数就是用来判断当前这个线程是否可以joinable的。通常不能被joinable有以下几种情况:
       1)由thread的缺省构造函数而造成的(thread()没有参数)。
       2)该thread被move过(包括move构造和move赋值)。
       3)该线程被join或者detach过。
  • 关于functional 头文件的认识可以参考下面两篇文章
    function相当于一个简单的函数包装器,可以包装
    functions(普通函数), lambda expressions(lambda 表达式), bind expressions(bind 表达式,bind 猜测应该是对于一个函数的绑定), or other function objects,
    as well as pointers to member functions(类的成员函数) and pointers to data members(结构体的数据成员?).
    https://www.cnblogs.com/ChenchenLu/p/5315336.html 中文有例子
    https://en.cppreference.com/w/cpp/utility/functional/function 英文更全面
Hope is a good thing,maybe the best of things,and no good thing ever dies.----------- Andy Dufresne
原文地址:https://www.cnblogs.com/eat-too-much/p/14434359.html