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

网站开发的语言有什么广州企业网站设计

网站开发的语言有什么,广州企业网站设计,如何做强一个网站的品牌,oa系统网页版linux下线程分离属性 一、线程的属性---分离属性二、线程属性设置2.1 线程创建前设置分离属性2.2 线程创建后设置分离属性 一、线程的属性—分离属性 什么是分离属性#xff1f; 首先分离属性是线程的一个属性#xff0c;有了分离属性的线程#xff0c;不需要别的线程去接合… linux下线程分离属性 一、线程的属性---分离属性二、线程属性设置2.1 线程创建前设置分离属性2.2 线程创建后设置分离属性 一、线程的属性—分离属性 什么是分离属性 首先分离属性是线程的一个属性有了分离属性的线程不需要别的线程去接合自己的(回收自己的资源)。 a.线程的分离属性有两种分离态detached和非分离态joinable。 b.非分离态的线程只有在调用pthread_join之后才会完全释放自己所占用的资源可以用pthread_detach函数将线程修改为分离态分离态的线程在线程结束后由系统自动释放其所占用的所有资源 c.线程创建后默认属性是非分离态需要调用pthread_join释放线程所占用的资源 但是虽然说是分离的但是进程退出了该线程还是会退出的。 总结 设置了分离属性的线程 - 不需要pthread_join() 设置了非分离属性的线程 - 需要pthread_join() - 默认创建的普通属性线程就是非分离线程。 退出进程所有子线程都会消亡系统会回收他们资源。 如果设置为非分离属性的线程且不去回收子线程资源那么一个进程创建的子线程数据是有限请下面程序环境ubuntu20.04 64位 #include stdio.h #include pthread.h #include stdlib.h #include unistd.h//定义退出的值为全局变量 int retval 10;//子线程 void *start_pthread(void *arg) {int cnt 0;printf(arg:%ld\n, *((unsigned long *)arg));}int main(void) {int cnt 0;unsigned long val 0;pthread_t thread_id;//主线程 运行时间比子线程时间长主线程运行退出后回收子线程资源while (1){//线程创建 非分离int ret pthread_create(thread_id, NULL, start_pthread, val);if(ret ! 0){printf(pthread_create fail\n);return -1;} val;}printf(接合子线程成功\n);return 0;}运行效果 如果不设置为分离属性主不回收子线程资源创建到32749条时创建线程失败 二、线程属性设置 线程属性设置通常有两个种一种是在创建前设置好分离属性别一个种是线程运行后再设置线程属性接下来先看第一种情况。 2.1 线程创建前设置分离属性 线程创建前设置分离属性就是添加一个分离属性到一个属性变量中然后使用属性变量去创建一个线程那么创建出来的线程就是具有分离属性的线程。 接下来看函数 1定义一个属性变量 - 数据类型pthread_attr_t pthread_attr_t attr;2初始化属性变量。 - pthread_attr_init() - man 3 pthread_attr_init #include pthread.h int pthread_attr_init(pthread_attr_t *attr);参数 attr未初始化的属性变量 返回值 成功0 失败非0错误码 3设置分离属性到属性变量中。 #include pthread.h int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);参数 attr已经初始化过的属性变量 detachstate PTHREAD_CREATE_DETACHED - 分离属性 PTHREAD_CREATE_JOINABLE - 非分离属性 等同于 pthread_create(thread_id, NULL, start_pthread, val); 返回值 成功0 失败非0错误码 4使用属性变量去创建一个新的线程。 pthread_create(tid,attr,.....); - 创建出来的线程就是分离属性的线程不需要pthread_join()5销毁属性变量。 - pthread_attr_destroy() - man 3 pthread_attr_destroy int pthread_attr_destroy(pthread_attr_t *attr);参数 attr已经初始化过的属性变量 返回值 成功0 失败非0错误码 案例代码 #include stdio.h #include pthread.h #include stdlib.h #include unistd.h//定义退出的值为全局变量 int retval 10;//子线程有分离--不需要接合 void *start_pthread(void *arg) {int cnt 0;printf(arg:%ld\n, *((unsigned long *)arg));}int main(void) {int cnt 0;unsigned long val 0;pthread_t thread_id;//定义分享属性变量 pthread_attr_t attr;//初始化属性变量pthread_attr_init(attr);//设置线程属性--分离属性pthread_attr_setdetachstate(attr, PTHREAD_CREATE_DETACHED);//主线程 运行时间比子线程时间长主线程运行退出后回收子线程资源while (1){//线程创建 分离属性int ret pthread_create(thread_id, attr, start_pthread, val);if(ret ! 0){printf(pthread_create fail\n);return -1;} val;}printf(接合子线程成功\n);return 0;}分离属性后的线程可以自动消亡主线程可以无限创建子线程。 2.2 线程创建后设置分离属性 先创建一个普通线程(分享属性设置为NULL, 默认的分享属性为不分离)然后在线程中调用一个设置分离属性的函数那么这个线程就变成分离的属性。 1设置线程本身的属性为分离属性。 - pthread_detach() - man 3 pthread_detach #include pthread.h int pthread_detach(pthread_t thread);函数作用 设置分离属性给线程 参数 thread需要设置分离属性的线程的ID号 返回值 成功0 失败非0错误码 2获取线程的ID号。 - pthread_self() - man 3 pthread_self #include pthread.h pthread_t pthread_self(void);参数 无 返回值线程的ID号。 案例 #include stdio.h #include pthread.h #include stdlib.h #include unistd.h//子线程 void *start_pthread(void *arg) {int cnt 0;//获取线程IDpthread_t thread_id pthread_self();//分离线程int ret pthread_detach(thread_id);if(ret ! 0){printf( pthread_detach fail\n);exit(0);}printf(arg:%ld\n, *((unsigned long *)arg));}int main(void) {unsigned long val 0;pthread_t thread_id;//主线程 运行时间比子线程时间长主线程运行退出后回收子线程资源while (1){//线程创建 默认为非分离int ret pthread_create(thread_id, NULL, start_pthread, val);if(ret ! 0){printf(pthread_create fail\n);return -1;} val;}return 0;}设置了分离属性之后子线程可以无限被创建。
http://www.dnsts.com.cn/news/31506.html

相关文章:

  • 任何判断网站SEO做的好坏天津网站建设电话咨询
  • 宁波高质量品牌网站设计厂家阿里云上能建设自己的企业网站
  • 北京微信网站建设公司微信朋友圈推广方案
  • 青海做高端网站建设的公司搜索网站的浏览器
  • 建设自己的网站写软文用什么软件
  • 福州网站建设哪家好wordpress图集主题
  • 徐州网站开发案例合肥哪里有建站公司
  • 网站标题改不了企业网站管理系统教程
  • 一套网站设计多少钱全国工程造价咨询企业管理系统
  • 网站ui设计师招聘wordpress食谱门户
  • 网络小说网站建设四川建设厅官方网站查询
  • seo网站文章编辑软件传奇电脑版
  • 自己做网站百度能收录码seo查询怎么查
  • phpnow 新建网站精选微信网站建设
  • 宁波网站建设首选品牌工程公司logo图片大全集
  • 返回json数据的网站怎么查询网站ftp地址
  • 济南做网站哪家好软件开发学校
  • 黄石本土做网站的公司一个阿里云怎么做两个网站
  • 网站开发基本流程图企业级网站内容管理系统
  • 网销网站建设流程图广告设计公司简介文案
  • 单页面网站制作技术宁德网站开发公司
  • 网站系统源码wordpress连续id
  • 做网站推销好做吗沈阳前端好找工作吗
  • 北京运营推广网站建设php原生态开发公司网站
  • 佛山企业网站制作公司模具配件东莞网站建设技术支持
  • 不收费的网站有哪些建立和创立的区别
  • 海口网站建设联系方式福建seo排名
  • 网站建设的想法重庆建设公司排名
  • 做课件用这15大网站高陵县建设局网站
  • 设计师参考效果图网站哪里做公司网站