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

网站做好了 后期怎么做怎么搭建自己的网站后台

网站做好了 后期怎么做,怎么搭建自己的网站后台,医院做网站开发,设计师网站源码pthread 条件变量使用注意 使用 pthread_cond_timedwait 等待条件变量时,其默认使用的为系统时间,若在其等待期间修改系统时间,则会导致其提前结束。 测试步骤 运行以下代码。 使用 date 命令查看系统时间,假设输出为 Thu Jan …

pthread 条件变量使用注意

  • 使用 pthread_cond_timedwait 等待条件变量时,其默认使用的为系统时间,若在其等待期间修改系统时间,则会导致其提前结束。

测试步骤

  • 运行以下代码。

  • 使用 date 命令查看系统时间,假设输出为 Thu Jan 1 08:01:53 AM CST 1970

  • 使用 date -s 08:03:53 设置系统时间,程序会立刻退出,并打印 wait timed out

    #include <pthread.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <errno.h>
    #include <unistd.h>pthread_cond_t g_cond;
    pthread_mutex_t g_mutex;void* thread1_func(void* arg)
    {// 必须先获取互斥锁pthread_mutex_lock(&g_mutex);// 获取当前时间struct timespec ts;clock_gettime(CLOCK_REALTIME, &ts);// 设置等待时间为 100 秒ts.tv_sec += 100;// 等待条件变量被唤醒,或者等待时间超时printf("waiting cond signal\n");int ret = pthread_cond_timedwait(&g_cond, &g_mutex, &ts);if (ret == 0) {printf("get cond signaled\n");} else if (ret == ETIMEDOUT) {printf("wait timed out\n");} else {printf("wait failed\n");}// 解锁pthread_mutex_unlock(&g_mutex);return NULL;
    }int main()
    {pthread_cond_init(&g_cond, NULL);pthread_mutex_init(&g_mutex, NULL);// 创建线程pthread_t th1;pthread_create(&th1, NULL, thread1_func, NULL);// 等待线程结束pthread_join(th1, NULL);pthread_mutex_destroy(&g_mutex);pthread_cond_destroy(&g_cond);return 0;
    }
    

解决方案

  • 初始化条件变量时,设置其使用稳定时钟即可。

  • 示例代码如下:

    #include <pthread.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <errno.h>
    #include <unistd.h>pthread_cond_t g_cond;
    pthread_mutex_t g_mutex;void* thread1_func(void* arg)
    {// 必须先获取互斥锁pthread_mutex_lock(&g_mutex);// 获取当前时间struct timespec ts;// 此处与上文不同clock_gettime(CLOCK_MONOTONIC, &ts);// 设置等待时间为 100 秒ts.tv_sec += 100;// 等待条件变量被唤醒,或者等待时间超时printf("waiting cond signal\n");int ret = pthread_cond_timedwait(&g_cond, &g_mutex, &ts);if (ret == 0) {printf("get cond signaled\n");} else if (ret == ETIMEDOUT) {printf("wait timed out\n");} else {printf("wait failed\n");}// 解锁pthread_mutex_unlock(&g_mutex);return NULL;
    }int main()
    {pthread_condattr_t condattr;pthread_condattr_init(&condattr);// 设置使用稳定时钟pthread_condattr_setclock(&condattr, CLOCK_MONOTONIC);pthread_cond_init(&g_cond, &condattr);pthread_mutex_init(&g_mutex, NULL);// 创建线程pthread_t th1;pthread_create(&th1, NULL, thread1_func, NULL);// 等待线程结束pthread_join(th1, NULL);pthread_mutex_destroy(&g_mutex);pthread_cond_destroy(&g_cond);return 0;
    }
    
http://www.yayakq.cn/news/187568/

相关文章:

  • 网站开发名片怎么做如何把网站程序做授权网址访问
  • 网站运营托管方案个人怎样建网站赚钱
  • 如何制作自己的公司网站上海网站建设网页制作联系方式
  • 石家庄做网站建设的公司哪家好傻瓜做网站软件
  • 公司网站cms图片做网站连接
  • 郑州网站推广多少钱网页版微信登陆入口
  • 袜子技术支持深圳网站建设国际新闻最新消息今天新闻
  • 网站商业授权含义有哪些做国际贸易的网站
  • 建设厅国网查询网站网站开发 避免 字段变化 代码
  • 可以做装修效果图的网站有哪些阿里云网络服务器
  • 四川聚锋建设工程有限公司官方网站竞价单页 网站
  • 房屋租赁网站建设管理成都必去十大网红景点
  • 电脑网站转换手机网站怎么做seo黑帽技术有哪些
  • 开发触屏版网站标签西安为什么今天紧急通知
  • 济南模板建站软件企业管理公司是干什么的
  • 申请一个网站需要多少钱网站的推广方案有哪些
  • 网站百度权重查询张家口桥西区建设局网站
  • 德州做网站dzqifanwordpress 科技类主题
  • 秦皇岛建设局局官方网站网站建设背景分析论文
  • app网站建设哪家好大连开发区凯旋国际
  • 甘德县公司网站建设广州天华建筑设计有限公司
  • 营销型网站建设怎么收费东莞24小时推广首页
  • 最简单的手机网站制作单位制作网站备案
  • 平台网站建设多少钱做爰视频免费观看网站
  • 创想网站标志设计图片及说明
  • 做的王者荣耀钓鱼网站关键词排名优化网站建设公司哪家好
  • 怎么查询网站的域名网站后台的建设
  • 郑州公司建设网站韩国vps
  • 帮别人做网站市场价电商类网站开发
  • 沧州网站推广烟台网站制作开发