如何实现将线程对象作为类的成员变量

C++11

方式/步调

  1. 1

    界说包含线程对象的类,该类禁止拷贝机关函数和赋值运算函数

    a1ec08fa513d269708c1eeb15bfbb2fb4216d8c8.jpg
  2. 2

    实现带参数的机关函数,该机关函数接管类型为std::function的参数,然后该参数传递给内部的线程对象

    30adcbef76094b363897fd01adcc7cd98c109dd1.jpg
  3. 3

    实现移动机关函数,函数内部转移线程对象到新的对象

    00e93901213fb80ee67a873b38d12f2eb83894b7.jpg
  4. 4

    实现移动赋值函数,先join期待线程竣事或者detach设置分手线程,防止内存泄露,然后再挪用move函数

    8cb1cb13495409231dbc85929c58d109b2de4901.jpg
  5. 5

    实现析构函数,join期待线程竣事或者detach设置分手线程

    9922720e0cf3d7ca24dfde9afc1fbe096b63a935.jpg
  6. 6

    建立std::function对象,将其传递给ThreadWrapper的机关函数,ThreadWrapper对象启动线程运行

    962bd40735fae6cd7a944a8d01b30f2442a70f3d.jpg
  7. 7

    最后调试运行输出的成果如下,当作功打印线程的ID

    3801213fb80e7becc96de20d212eb9389a506ba3.jpg
  • 发表于 2019-08-06 23:55
  • 阅读 ( 755 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具