当前位置: 首页 > news >正文

品牌手表网站html5布局wordpress

品牌手表网站,html5布局wordpress,制作网站要花多少钱如何,校内 实训网站 建设2.3 detach()detach() 函数的作用是进行线程分离#xff0c;分离主线程和创建出的子线程。在线程分离之后#xff0c;主线程退出也会一并销毁创建出的所有子线程#xff0c;在主线程退出之前#xff0c;它可以脱离主线程继续独立的运行#xff0c;任务执行完毕之后#x… 2.3 detach()detach() 函数的作用是进行线程分离分离主线程和创建出的子线程。在线程分离之后主线程退出也会一并销毁创建出的所有子线程在主线程退出之前它可以脱离主线程继续独立的运行任务执行完毕之后这个子线程会自动释放自己占用的系统资源。其实就是孩子翅膀硬了和家里断绝关系自己外出闯荡了如果家里被诛九族还是会受牵连。该函数函数原型如下void detach();线程分离函数没有参数也没有返回值只需要在线程成功之后通过线程对象调用该函数即可继续将上面的测试程序修改一下int main() {cout  主线程的线程ID:   this_thread::get_id()  endl;thread t(func, 520, i love you);thread t1(func1);cout  线程t 的线程ID:   t.get_id()  endl;cout  线程t1的线程ID:   t1.get_id()  endl;t.detach();t1.detach();// 让主线程休眠, 等待子线程执行完毕this_thread::sleep_for(chrono::seconds(5)); }注意事项线程分离函数 detach () 不会阻塞线程子线程和主线程分离之后在主线程中就不能再对这个子线程做任何控制了比如通过 join () 阻塞主线程等待子线程中的任务执行完毕或者调用 get_id () 获取子线程的线程 ID。有利就有弊鱼和熊掌不可兼得建议使用 join ()。2.5 joinable()joinable() 函数用于判断主线程和子线程是否处理关联连接状态一般情况下二者之间的关系处于关联状态该函数返回一个布尔类型返回值为 true主线程和子线程之间有关联连接关系返回值为 false主线程和子线程之间没有关联连接关系bool joinable() const noexcept;示例代码如下#include  #include  #include  using namespace std;void foo() {this_thread::sleep_for(std::chrono::seconds(1)); }int main() {thread t;cout  before starting, joinable:   t.joinable()  endl;t  thread(foo);cout  after starting, joinable:   t.joinable()  endl;t.join();cout  after joining, joinable:   t.joinable()  endl;thread t1(foo);cout  after starting, joinable:   t1.joinable()  endl;t1.detach();cout  after detaching, joinable:   t1.joinable()  endl; }示例代码打印的结果如下before starting, joinable: 0 after starting, joinable: 1 after joining, joinable: 0 after starting, joinable: 1 after detaching, joinable: 0基于示例代码打印的结果可以得到以下结论在创建的子线程对象的时候如果没有指定任务函数那么子线程不会启动主线程和这个子线程也不会进行连接在创建的子线程对象的时候如果指定了任务函数子线程启动并执行任务主线程和这个子线程自动连接成功子线程调用了detach()函数之后父子线程分离同时二者的连接断开调用joinable()返回false在子线程调用了join()函数子线程中的任务函数继续执行直到任务处理完毕这时join()会清理回收当前子线程的相关资源所以这个子线程和主线程的连接也就断开了因此调用join()之后再调用joinable()会返回false。2.6 operator线程中的资源是不能被复制的因此通过 操作符进行赋值操作最终并不会得到两个完全相同的对象。// move (1)  thread operator (thread other) noexcept; // copy [deleted] (2)  thread operator (const other)  delete;通过以上 操作符的重载声明可以得知如果 other 是一个右值会进行资源所有权的转移如果 other 不是右值禁止拷贝该函数被显示删除delete不可用3. 静态函数thread 线程类还提供了一个静态方法用于获取当前计算机的 CPU 核心数根据这个结果在程序中创建出数量相等的线程每个线程独自占有一个 CPU 核心这些线程就不用分时复用 CPU 时间片此时程序的并发效率是最高的。static unsigned hardware_concurrency() noexcept;示例代码如下#include  #include  using namespace std;int main() {int num  thread::hardware_concurrency();cout  CPU number:   num  endl; }4. C 线程库C 语言提供的线程库不论在 window 还是 Linux 操作系统中都是可以使用的看明白了这些 C 语言中的线程函数之后会发现它和上面的 C 线程类使用很类似其实就是基于面向对象的思想进行了封装但 C 的线程类用起来更简单一些链接奉上感兴趣的可以一看。声明本文于网络整理版权归原作者所有如来源信息有误或侵犯权益请联系我们删除或授权事宜。
http://wiki.neutronadmin.com/news/190692/

相关文章:

  • 互联网网站定位网站建设费用表格
  • 做威士忌的网站初学者网站建设
  • 泉州网站建设选择讯呢营销型建设网站公司
  • 广东专业做网站排名公司哪家好建设一个网站需要什么硬件软件
  • 高端html5网站设计工作室织梦模板 dedecms5.7阳江招聘网丰多采
  • 公司注册地址怎么写网络营销优化公司
  • 社区网站建设一分钟看懂seo
  • 做业务 哪个网站比较好wordpress一个域名多个主题
  • 集约化网站建设的函外国企业网站模板免费下载
  • 做公司网站公司如何做拦截网站
  • 学校网站群建设设计网站板块的策划方案
  • 网站飘窗怎样做沈阳建设工程信息网 找到中项网
  • 自适应网站案例idc网站模板源码下载
  • 网站建设美词原创丽水做网站
  • 网站建设流程及规范做博客用什么系统做网站好
  • 陕西 建设工程有限公司网站互联网推广加盟
  • 房地产数据网站展厅设计用什么软件
  • 网站主题方维网站后台提示验证码错误
  • 南里商濮阳网站建设wordpress 联系插件
  • 1 建设网站目的安卓原生app开发工具
  • 旅游网站建设的目标是什么怎么给网站加ico图标
  • 南阳做网站优化的公司珠海网站建设怎么样
  • 嘉兴手机网站开发费用外贸怎么做
  • wordpress更换数据库seo搜索引擎优化价格
  • 鞋子 东莞网站建设互联网广告销售好做吗
  • 网站集约化建设题目营销项目策划公司
  • win2003做网站在线app制作平台
  • 巴中建设局网站wordpress初始登录
  • 网站建设教程培训如何做二级域名子目录网站
  • c 用mysql做的网站互联网情况下做企业网站的有点