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

新网站建设的工作重庆网站开发工资

新网站建设的工作,重庆网站开发工资,怎样在网站图片做超级链接,温州免费做网站前言 本文将会向你介绍线程控制#xff08;创建#xff08;请见上文#xff09;#xff0c;终止#xff0c;等待#xff0c;分离#xff09; 线程控制 线程终止 pthread_t pthread_self(void); 获取线程自身的ID 如果需要只终止某个线程而不终止整个进程,可以有三种…前言 本文将会向你介绍线程控制创建请见上文终止等待分离 线程控制 线程终止 pthread_t pthread_self(void); 获取线程自身的ID 如果需要只终止某个线程而不终止整个进程,可以有三种方法: 1. 从线程函数return。这种方法对主线程不适用,从main函数return相当于调用exit。 2. 线程可以调用pthread_ exit终止自己。 3. 一个线程可以调用pthread_ cancel终止同一进程中的另一个线程 若是在线程中使用exit()退出整个进程都会退出 #include vector #include time.h #include unistd.h #include pthread.h #include iostream std::string ToHex(pthread_t tid) {char id[64];snprintf(id, sizeof(id), 0x%x, tid);return id; } void *threadRoutine(void *args) {std::string name static_castconst char*(args);int cnt 3;while(cnt--){std::cout new thread is running, thread name: name ,thread id: ToHex(pthread_self()) std::endl;sleep(1);}//return nullptr; //线程退出//exit(13); //进程退出pthread_exit(nullptr); //线程退出std::cout The thread ended ago std::endl; } int main() {pthread_t tid;pthread_create(tid, nullptr, threadRoutine, (void*)thread-1);while(true){std::cout main: The new thread id is: ToHex(tid) std::endl;sleep(1);}return 0; } return nullptr: exit(): pthread_exit(nullptr) pthread_ cancel 线程等待 为什么需要线程等待 已经退出的线程其空间没有被释放仍然在进程的地址空间内。 创建新的线程不会复用刚才退出线程的地址空间 1. 如果thread线程通过return返回,value_ ptr所指向的单元里存放的是thread线程函数的返回值。 2. 如果thread线程被别的线程调用pthread_ cancel异常终掉,value_ ptr所指向的单元里存放的是常数 -1PTHREAD_ CANCELED。 3. 如果thread线程是自己调用pthread_exit终止的,value_ptr所指向的单元存放的是传给pthread_exit的参数。 4. 如果对thread线程的终止状态不感兴趣,可以传NULL给value_ ptr参数 这里只证实后3、4两个结论 #include vector #include time.h #include unistd.h #include pthread.h #include iostreamvoid *threadRoutine(void *args) {std::string name static_castconst char*(args);int cnt 3;while(cnt--){std::cout new thread is running, thread name: name ,thread id: ToHex(pthread_self()) std::endl;sleep(1);}//----------------------------------------------------------线程退出pthread_exit((void*)thread-1 over...);std::cout The thread ended ago std::endl; }int main() {pthread_t tid;pthread_create(tid, nullptr, threadRoutine, (void*)thread-1);void *ret nullptr;int n pthread_join(tid, ret);std::cout main thread done ,n: n info: , (char*)ret std::endl;return 0; } //等待新线程结束并获取新线程退出的信息获取新线程退出时的ID、信息、以及退出码 #include vector #include time.h #include unistd.h #include pthread.h #include iostream class ThreadReturn { public:ThreadReturn(pthread_t id, const std::string info, int code): _id(id), _info(info), _code(code){} public:pthread_t _id; //线程IDstd::string _info; //信息int _code; //返回码 }; //十六进制转换 std::string ToHex(pthread_t tid) {char id[64];snprintf(id, sizeof(id), 0x%x, tid);return id; } //线程任务 void *threadRoutine(void *args) {std::string name static_castconst char*(args);int cnt 3;while(cnt--){std::cout new thread is running, thread name: name ,thread id: ToHex(pthread_self()) std::endl;sleep(1);}//pthread_exit((void*)thread-1 over...);ThreadReturn *ret new ThreadReturn(pthread_self(), thread quit normal, 6);return ret; } int main() {pthread_t tid;//创建线程pthread_create(tid, nullptr, threadRoutine, (void*)thread-1);void *ret nullptr;//线程等待int n pthread_join(tid, ret);std::cout main thread done ,n: n std::endl;//安全类型转换ThreadReturn *r static_castThreadReturn *(ret);//输出新线程退出时的参数信息std::cout main thread get new thread info: r-_info , r-_code , ToHex(r-_id) , std::endl;delete r;return 0; } 线程分离 #include iostream #include unistd.h #include pthread.h #include sys/types.h int gcnt 3; void *ThreadRoutine(void *arg) {pthread_detach(pthread_self());const char *threadname (const char *)arg;while(true){std::cout I am a new thread std::endl;gcnt--;sleep(1);} } int main() {pthread_t tid1;pthread_create(tid1, NULL, ThreadRoutine, (void*)thread 1);sleep(1);if ( pthread_join(tid1, NULL ) 0 ) {std::cout pthread wait success\n std::endl;} else {std::cout pthread wait failed\n std::endl;}int n pthread_cancel(tid1);std::cout main thread cancel done, n: n std::endl;return 0; }现象 线程如果是被分离的该线程是可以被取消但是不能被等待 小结 今日的分享就到这里啦如果本文存在疏漏或错误的地方还请您能够指出
http://www.zqtcl.cn/news/181209/

相关文章:

  • 网站建设学什么软件做电影资源网站有哪些
  • 怎么样让百度搜到自己的网站wordpress的短代码
  • 聊城专业网站建设公司电子商务网站建设与维护李建忠下载
  • icp备案网站接入信息怎么写长兴县网站建设
  • 如何在网上注册公司网站网站不想让百度收录
  • 服务器做jsp网站教程视频免费的舆情网站app下载
  • 肇庆网站建设方案优化家居定制类网站建设
  • 自助建站加盟备案的网站有什么好处
  • 科技公司企业网站建设重庆seo优化
  • 空间站天宫vr全景尚层装饰
  • 有没有专门做中考卷子的网站网络公司推广公司
  • 网站建设费用如何列支wordpress页面构建
  • 用dw做网站怎么做出下拉菜单企业进行网站建设的方式有( )
  • 纯静态网站索引怎么做如何用wampp 做网站
  • 怎样做网站吸引人wordpress数据可视化插件
  • 网站运营管理教材中国设计之窗官方网站
  • 高端网站设计高端网站制作P2P网站怎么建设
  • 一般网站建设的流程故事app怎么制作
  • 一般在什么网站上做电子请帖国外产品设计网
  • 成都网站建设987netADPR国际传媒网站建设
  • 网站开发培训光山价格低
  • 营销型企业网站诊断网站开发图片侵权
  • 电商货源网站大全HTML网站页面建设
  • 购物网站建设款流程html博客转wordpress
  • 泉州建设培训中心网站大连云购物app下载安装到手机
  • 美食网站建设策划书帮人恶意点击网站
  • 网站项目合同永久免费的网站软件
  • 门户网站有哪些局限性wordpress 登录信息
  • 某网站项目策划书怎么做一个简单的网站
  • 建设网站 翻译黑色网站配色