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

营销型网站有哪些类免费制作个人简历的网站

营销型网站有哪些类,免费制作个人简历的网站,广州番禺区有什么大学,商务网站开发基本流程pthread_detach函数 实现线程分离 int pthread_detach(pthread_t thread); 成功#xff1a;0#xff1b;失败#xff1a;错误号 线程分离状态#xff1a;指定该状态#xff0c;线程主动与主控线程断开关系。线程结束后#xff0c;其退出状态不由其他线程获取#x… pthread_detach函数 实现线程分离        int pthread_detach(pthread_t thread);      成功0失败错误号        线程分离状态指定该状态线程主动与主控线程断开关系。线程结束后其退出状态不由其他线程获取而直接自己自动释放。网络、多线程服务器常用。        进程若有该机制将不会产生僵尸进程。僵尸进程的产生主要由于进程死后大部分资源被释放一点残留资源仍存于系统中导致内核认为该进程仍存在。        也可使用 pthread_create函数参2(线程属性)来设置线程分离。 【练习】使用pthread_detach函数实现线程分离                                                                      【pthrd_detach.c】 一般情况下线程终止后其终止状态一直保留到其它线程调用pthread_join获取它的状态为止。但是线程也可以被置为detach状态这样的线程一旦终止就立刻回收它占用的所有资源而不保留终止状态。不能对一个已经处于detach状态的线程调用pthread_join这样的调用将返回EINVAL错误。也就是说如果已经对一个线程调用了pthread_detach就不能再调用pthread_join了。 /*** detach.c ***/ #includeunistd.h #includestring.h #includepthread.h #includestdio.hvoid *tfn(void *arg) {int n 3;while(n--){printf(thread count %d\n,n);sleep(1);}pthread_exit((void*)1); }int main() {pthread_t tid;void* tret;int err;pthread_attr_t attr;pthread_attr_init(attr);pthread_attr_setdetachstate(attr,PTHREAD_CREATE_DETACHED);pthread_create(tid,attr,tfn,NULL);while(1){err pthread_join(tid,tret);printf(------------------- err %d\n,err);if(0 ! err){fprintf(stderr,thread_join error : %s\n,strerror(err));}else{fprintf(stderr,thread exit code %d\n,(int)tret);}sleep(1);}return 0; } 运行结果 ubuntu1604ubuntu:~/wangqinghe/linux/20190819$ ./detach ------------------- err 22 thread_join error : Invalid argument thread count 2 ------------------- err 22 thread_join error : Invalid argument thread count 1 ------------------- err 22 thread_join error : Invalid argument thread count 0 ------------------- err 22 thread_join error : Invalid argument ------------------- err 22 thread_join error : Invalid argument ------------------- err 22 thread_join error : Invalid argument ------------------- err 22 thread_join error : Invalid argument ^C pthread_cancel函数 杀死(取消)线程                  其作用对应进程中 kill() 函数。        int pthread_cancel(pthread_t thread); 成功0失败错误号        【注意】线程的取消并不是实时的而有一定的延时。需要等待线程到达某个取消点(检查点)。        类似于玩游戏存档必须到达指定的场所(存档点如客栈、仓库、城里等)才能存储进度。杀死线程也不是立刻就能完成必须要到达取消点。        取消点是线程检查是否被取消并按请求进行动作的一个位置。通常是一些系统调用creatopenpauseclosereadwrite..... 执行命令man 7 pthreads可以查看具备这些取消点的系统调用列表。也可参阅 APUE.12.7 取消选项小节。 可粗略认为一个系统调用(进入内核)即为一个取消点。如线程中没有取消点可以通过调用pthreestcancel函数自行设置一个取消点。 被取消的线程   退出值定义在Linux的pthread库中。常数PTHREAD_CANCELED的值是-1。可在头文件pthread.h中找到它的定义#define PTHREAD_CANCELED ((void *) -1)。因此当我们对一个已经被取消的线程使用pthread_join回收时得到的返回值为-1。 【练习】终止线程的三种方法。注意“取消点”的概念。                                                              【pthrd_endof3.c】 终止线程方式 总结终止某个线程而不终止整个进程有三种方法 从线程主函数return。这种方法对主控线程不适用从main函数return相当于调用exit。一个线程可以调用pthread_cancel终止同一进程中的另一个线程。线程可以调用pthread_exit终止自己 /*** pthread_endof3.c ***/#include stdio.h #include unistd.h #include pthread.h #include stdlib.hvoid *tfn1(void *arg) {printf(thread 1 returning\n);return (void *)111; }void *tfn2(void *arg) {printf(thread 2 exiting\n);pthread_exit((void *)222); }void *tfn3(void *arg) {while (1) {//printf(thread 3: Im going to die in 3 seconds ...\n);//sleep(1); pthread_testcancel(); //自己添加取消点*/}return (void *)666; }int main(void) {pthread_t tid;void *tret NULL;pthread_create(tid, NULL, tfn1, NULL);pthread_join(tid, tret);printf(thread 1 exit code %d\n\n, (int)tret);pthread_create(tid, NULL, tfn2, NULL);pthread_join(tid, tret);printf(thread 2 exit code %d\n\n, (int)tret);pthread_create(tid, NULL, tfn3, NULL);sleep(3);pthread_cancel(tid);pthread_join(tid, tret);printf(thread 3 exit code %d\n, (int)tret);return 0; } ubuntu1604ubuntu:~/wangqinghe/linux/20190819$ ./pthread_endof3 thread 1 returning thread 1 exit code 111   thread 2 exiting thread 2 exit code 222   thread 3 exit code -1   转载于:https://www.cnblogs.com/wanghao-boke/p/11389738.html
http://www.pierceye.com/news/759535/

相关文章:

  • 怎么建立网站?婚纱网站策划书模板下载
  • 接单子做网站词类似酷家乐做庭院的网站
  • 道路建设网站专题推广做黄页网站
  • 做展柜平时在哪里网站推广青岛原创工程设计有限公司
  • 网站建设加网络营销营销网站有多种类型
  • 深圳网站网页制作公司深圳品牌网站建设公司有哪些
  • 网站建设中 windows网站后台用什么做
  • 外贸营销型网站建站怎么做便民信息网站
  • 事业单位门户网站建设的建议大连建设工程信息网华宇凤凰城东侧市政管网配套工程
  • 上海网站建设开发哪亚马逊官网首页中国
  • 常德网站建设套餐报价英文网站字体大小
  • 橙色网站logo 配色播放器网站怎么做
  • dw网站制作怎样做网站xml
  • 房屋租赁网站开发意义新网站如何做排名
  • 钉钉如何做自己的网站银川企业网站建设
  • 做游戏女角色去衣的网站网站建设及售后服务的说明书
  • 微网站下载资料怎么做网站开发毕业设计任务书怎么写
  • ckplayer网站根目录泉州 网站制作
  • 中国建设银行网站江苏分行帮别人做网站收多少钱合适
  • 公司该建哪种网站带有互动的网站开发
  • 怎样进入谷歌网站怎么做一个简易网站
  • 邯郸网站优化公司集团公司简介模板
  • 网站的需求分析怎么写文山州住房建设网站
  • 广东网站开发费用动易的网站能否静态
  • 网站的后期维护php建设图书网站代码
  • 做营销网站制作外贸多语言网站建设
  • 广州做网站 信科网络wordpress优化宝塔
  • 深圳网站制作作枣庄做网站制作
  • 企业做网站方案建筑公司网站平台
  • 简单的企业网站phpwordpress 图标插件