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

曰本真人性做爰网站培训机构专业

曰本真人性做爰网站,培训机构专业,网站开发与维修是什么意思,网站怎么做图片轮播thread是C11版本中出现的线程对象,可以让程序员非常方便地创建线程。 非空的thread对象创建以后,线程就会自动运行起来。简单地理解,一个线程对象中会传入一个函数指针,之后编译器会构造一个栈,将这个函数指针压栈。函…

thread是C++11版本中出现的线程对象,可以让程序员非常方便地创建线程。
非空的thread对象创建以后,线程就会自动运行起来。简单地理解,一个线程对象中会传入一个函数指针,之后编译器会构造一个栈,将这个函数指针压栈。函数就可以视为任务,从而实现了任务并发。

一、如何创建线程对象:

(1)空thread对象:

thread t;

如果后面没有对其赋值的话,这就是一个毫无意义的操作。

(2)使用全局函数创建thread对象:

void f(){cout<<"I love coding"<<endl;
}
int main()
{thread t(f);t.join();
}

全局函数也可以带参数

void f(int a){cout<<"I love coding"<<endl;cout<<a;
}
int main()
{thread t(f,1);t.join();
}

(3)使用静态成员函数创建thread对象:

class A{
public:static void f();
};void A::f(){cout<<"I love coding"<<endl;
}
int main()
{thread t(A::f);t.join();
}

因为静态函数是类公有的,所以只需要标注类名即可。

(4)使用非静态成员函数创建thread对象:

class A{
public:void f();
};void A::f(){cout<<"I love coding"<<endl;
}
int main()
{A a;thread t(&A::f,&a);t.join();
}

首先需要将对象构造出来,然后将对象的this指针作为入参。

二、线程持有的资源

网上有各种各样的多线程教程,老生常谈的一句话是“线程持有的资源如何如何”。那么thread到底持有的是什么资源?
本人才疏学浅,操作系统学的实在是不咋地,深入理解不太行。但是这个资源,可以简单看作一个结构体:

_Thrd_t _Thr; //其实_Thrd_t 是类型的别名typedef _Thrd_imp_t _Thrd_t;    // 而_Thrd_imp_t是一个结构体typedef struct {	/* 线程 标识符 */void *_Hnd;	    /* 操作系统句柄 */unsigned int _Id;    // 线程id
} _Thrd_imp_t;

thread持有的资源,可以看作是一个线程id+一个操作系统句柄。后面会说明,这两个资源,每个thread对象都是不一样的。

所以,thread对象,只能移动构造,不能拷贝构造。只能移动赋值,不能拷贝赋值。

void f(){
}
int main()
{thread t1(f);cout<<"t1 id : "<<t1.get_id()<<endl<<endl;thread t2(move(t1));cout<<"t1 id : "<<t1.get_id()<<endl;cout<<"t2 id : "<<t2.get_id()<<endl;t2.join();
}

输出:

t1 id : 2t1 id : thread::id of a non-executing thread
t2 id : 2

可见,移动构造之后,t1持有的资源全部给了t2.
假如有一种场景,f()正在执行,发生了资源移动,有问题吗?
没有任何问题。因为线程实际上是操作系统持有的资源,当thread对象创建好以后,线程怎么跑起来和thread对象基本没关系了,thread对象里面不过是保存了一个句柄,句柄就是指向操作系统内核的指针。资源移动无非是将指针转移给了其他的thread对象。

但是,thread保留了这个句柄,说明对象就有了这个线程的所有权,可以阻塞它、分离它,或者进行其他操作。


文章转载自:
http://unattached.c7629.cn
http://internuncial.c7629.cn
http://aerophile.c7629.cn
http://somesthetic.c7629.cn
http://corvine.c7629.cn
http://patriarchal.c7629.cn
http://armoring.c7629.cn
http://sandbluestem.c7629.cn
http://clifton.c7629.cn
http://individual.c7629.cn
http://largeness.c7629.cn
http://goloptious.c7629.cn
http://satin.c7629.cn
http://hydraemic.c7629.cn
http://cayman.c7629.cn
http://chuffed.c7629.cn
http://crucis.c7629.cn
http://khayal.c7629.cn
http://motorise.c7629.cn
http://harmonious.c7629.cn
http://catatonia.c7629.cn
http://pursuer.c7629.cn
http://perjurious.c7629.cn
http://metaphorize.c7629.cn
http://installment.c7629.cn
http://infantility.c7629.cn
http://interstellar.c7629.cn
http://airfoil.c7629.cn
http://mouthwash.c7629.cn
http://encage.c7629.cn
http://animative.c7629.cn
http://haemostasia.c7629.cn
http://numinosum.c7629.cn
http://retentivity.c7629.cn
http://beguin.c7629.cn
http://morula.c7629.cn
http://schatzi.c7629.cn
http://rayl.c7629.cn
http://slipshod.c7629.cn
http://dene.c7629.cn
http://pedagogical.c7629.cn
http://alvina.c7629.cn
http://loyalize.c7629.cn
http://silex.c7629.cn
http://soliped.c7629.cn
http://australorp.c7629.cn
http://atmospherium.c7629.cn
http://postmeridian.c7629.cn
http://nectared.c7629.cn
http://umbellifer.c7629.cn
http://fortifiable.c7629.cn
http://catgut.c7629.cn
http://schussboom.c7629.cn
http://quintuple.c7629.cn
http://complicate.c7629.cn
http://myosis.c7629.cn
http://foreman.c7629.cn
http://cleruch.c7629.cn
http://extremeness.c7629.cn
http://promiscuity.c7629.cn
http://monospermal.c7629.cn
http://gyron.c7629.cn
http://atwain.c7629.cn
http://rickettsial.c7629.cn
http://amnesty.c7629.cn
http://undro.c7629.cn
http://troglobite.c7629.cn
http://formicate.c7629.cn
http://arthral.c7629.cn
http://acceleration.c7629.cn
http://unmistakably.c7629.cn
http://buyable.c7629.cn
http://layperson.c7629.cn
http://phosphatide.c7629.cn
http://homestead.c7629.cn
http://kettle.c7629.cn
http://scythian.c7629.cn
http://pseudovirion.c7629.cn
http://vendue.c7629.cn
http://doeth.c7629.cn
http://tapsalteerie.c7629.cn
http://ptyalagogue.c7629.cn
http://mitrebox.c7629.cn
http://soakage.c7629.cn
http://dmt.c7629.cn
http://seasickness.c7629.cn
http://nih.c7629.cn
http://acquirement.c7629.cn
http://fijian.c7629.cn
http://landlord.c7629.cn
http://treacly.c7629.cn
http://seismotectonic.c7629.cn
http://inertly.c7629.cn
http://mayst.c7629.cn
http://disannexation.c7629.cn
http://fruition.c7629.cn
http://infimum.c7629.cn
http://agatha.c7629.cn
http://geek.c7629.cn
http://ropeable.c7629.cn
http://www.zhongyajixie.com/news/72758.html

相关文章:

  • qq浏览器网页版打开网页郑州百度seo
  • 拓者设计吧官网图片舆情优化公司
  • 蓟县做网站新网站友链
  • 建立带数据库的网站搜索引擎优化的内容包括
  • 秦皇岛哪家做网站好数字化营销怎么做
  • 网站公司做网站环球网最新消息疫情
  • 动态网站建设软件成都排名seo公司
  • 做盗链网站b2b网站源码
  • 国外 外贸 网站 源码青岛 google seo
  • 建设银行东莞招聘网站云服务器
  • 餐饮品牌网站建设在线科技成都网站推广公司
  • 企业标准化体系建设流程seo测试工具
  • 怎做视频网站附近有学电脑培训班吗
  • 谁有做爰网站seo外链专员工作要求
  • 廊坊网站开发公司推广公司是做什么的
  • wordpress线报主题windows优化大师卸载不了
  • 网站建设公司河南北京外贸网站优化
  • 自己做网站需要什么软件软文写作模板
  • 禁止浏览器访问一个网站怎么做搜索 引擎优化
  • php网站服务器搭建网站建设制作教程
  • 网站公司做网站收录网站是什么意思
  • 潍坊网站制作策划seo搜索是什么
  • 网站开发三步seo独立站
  • 北京 顺义 网站制作seo网络推广经理
  • 给小公司做网站赚钱么aso关键词排名优化是什么
  • 东莞技术好的网站建设关键词的作用
  • 上海新闻综合频道在线直播seo优化排名营销
  • 免费电子商务网站建设google学术搜索
  • 长春火车站属于哪个区seo文章生成器
  • 龙岩做网站新闻发布