线程
1.Thread类
1.1概述
Ice中的基础线程是由ThreadControl类和Thread类来提供的(在IceUtil/IceUtil.h中定义):
Thread类是一个抽象基类,拥有一个纯虚方法run。要创建线程,必须特化Thread类,并实现run方法。
1.2 其成员函数 1)id:该函数返回每个线程的唯一标识符,类型是ThreadID。在调用start函数之前调用它时,会引发ThreadNotStartedException。
2)start:这个成员函数启动新创建的线程,会调用run方法。start方法同时负责引用计数的加减。
3)getThreadControl:这个成员函数返回它所在的线程控制对象。在调用start之前调用它同样会触发异常。
4)operator== 、operator!=、operatorstart(); // Start it tc.join(); // Wait for it
4)detach
这个方法分离一个线程。一旦线程分离,就不能再融合;因此必须保证线程在程序离开main函数之前终止。
5)isAlive:如果底层的线程还没有退出(run方法还没有完成),该方法就返回真。该方法在实现非阻塞的join时很有用。
6)sleep:这方法挂起线程,时间长度由Time决定。挂起线程就是让该线程离开CPU,让其他线程占用。
7)yield:这个方法使得它所针对的线程放弃CPU,让其他线程运行。看了它的代码,发现yield的效果等于Sleep(0)。
8)operator== 、operator!=、operator10)
//myMain.cpp文件
- #include
- #include
- #include
- Queue q;
- class ReaderThread : public IceUtil::Thread
- {
- virtual void run()
- {
- for(int i=0 ; i
关注打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?


微信扫码登录