做视频网站视频文件都存放在哪云匠网app
做视频网站视频文件都存放在哪,云匠网app,为什么要建设档案网站,cnzz网站建设最近看了一个Thread类#xff08;忘记在哪里看的了#xff09;#xff0c;感觉不错。 创建线程时线程对应的函数必须是类的静态成员#xff0c;由于静态成员无法访问类的非静态成员#xff0c;我从前都是把对象的指针作为参数传递给线程函数来避免这个问题#xff0c;但是…最近看了一个Thread类忘记在哪里看的了感觉不错。 创建线程时线程对应的函数必须是类的静态成员由于静态成员无法访问类的非静态成员我从前都是把对象的指针作为参数传递给线程函数来避免这个问题但是在逻辑上线程函数还需要访问对象的私有成员总是感觉代码很不优雅。这个Thread类同java中的Thread类在用法上比较类似使用一种比较优雅的方法避免了上面的问题。使用时只要从Thread派生一个子类并实现线程运行的函数 void run() 就可以了。还是看代码吧 先把使用方法贴上来 C语言: Codee#880 01 #includeiostream 02 03 #include Thread.h 04 05 class MyThreadClass: public Thread 06 { 07 private: 08 int a; 09 public: 10 MyThreadClass( ) { 11 a 0; 12 } 13 ~MyThreadClass(){} 15 virtual void run(); 16 }; 17 18 void Receiver::run() { 19 a; 20 std::coutastd::endl; 21 } 22 23 int main(int argc, char * argv[]) 24 { 25 MyThreadClass myThread; 26 myThread.start();//创建了一个线程,运行函数run() 27 myThread.join();//等待线程结束 28 return 0; 29 } 下面是Thread类的实现为了阅读清晰删减了很多内容C语言: Thread.h 01 #ifndef COMMUNITCATE_H 02 #define COMMUNITCATE_H 03 04 05 06 #include pthread.h 07 08 09 class Thread 10 { 11 protected: 12 pthread_t _tid; 13 static void* run0(void* opt); 14 void* run1();//如果类中有保存线程状态的变量可以在这个函数中可以进行更改操作 15 public: 16 Thread(); 17 ~Thread(); 18 /** 19 * 创建线程线程函数是 run0 20 * 21 * return 成功返回 ture 否则返回 false 22 */ 23 bool start(); 24 /** 25 * join this thread 26 * 27 */ 28 void join(); 29 virtual void run(){ 30 31 } 32 }; 33 34 35 #endif C语言: Thread.cpp 01 #include Thread.h 02 03 Thread::Thread(){ 04 05 } 06 07 Thread::~Thread(){ 08 09 } 10 11 12 13 void* Thread::run0(void* opt) 14 { 15 Thread* p (Thread*) opt; 16 p-run1(); 17 return p; 18 } 19 20 void* Thread::run1() 21 { 22 _tid pthread_self(); 23 run(); 24 _tid 0; 25 pthread_exit(NULL); 26 } 27 28 bool Thread::start() 29 { 30 return pthread_create(_tid, NULL, run0, this) 0; 31 } 32 33 void Thread::join() 34 { 35 if( _tid 0 ){ 36 pthread_join(_tid, NULL); 37 } 38 }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92568.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!