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

龙岗平湖网站建设公司建设电子商务网站期末考试

龙岗平湖网站建设公司,建设电子商务网站期末考试,培训方案模板,wordpress评论通知pthread 条件变量使用注意 使用 pthread_cond_timedwait 等待条件变量时#xff0c;其默认使用的为系统时间#xff0c;若在其等待期间修改系统时间#xff0c;则会导致其提前结束。 测试步骤 运行以下代码。 使用 date 命令查看系统时间#xff0c;假设输出为 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.hpthread_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.hpthread_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.yingshimen.cn/news/78109/

相关文章:

  • 江阴市网站建设移动网站建设的前期规划内容
  • 怎么退出建设银行网站专门做旅游的网站
  • 百度站长工具怎么推广网站怎样建设那种游戏网站
  • 响应式网站怎么做无缝轮播图网站建设服务商推荐
  • 3322怎么做网站五华县建设局网站
  • 专业手机网站建设企业做网站盐城
  • 继续加强网站建设wordpress绑定百家号
  • 买虚机送网站建设株洲网站建设推广报价
  • 上海千途建站电脑搭建网站需要空间
  • 中国空间站设计在轨飞行几年沈阳做网站培训
  • 网站建栏目建那些企业产品推广网站
  • 家乡网站设计目的wordpress 3.1
  • 网站开发人员是干什么的网站手机版怎么做
  • 设计素材网站知乎临沂专业网站建设公司
  • 鲜花网站建设解决方案外包一个项目多少钱
  • 济南市网站建设wordpress增加背景图片
  • 网站外链建设培训wordpress 5.1如何更换编辑器
  • 快速网站建设多少钱加强网站建设的意义
  • 昆明餐饮网站建设网站框架规划
  • 做网站编程有钱途么wordpress微博登录注册
  • 网站建设免费发布网站建设的原则有哪些方面
  • 国内优秀网站设计导航网站怎么建
  • 建设直播网站需要哪些许可证策划是做什么的
  • 现在最流行的网站推广方式有哪些网站建站方案
  • 国外门户网站设计心理咨询
  • 苏州网站外包成都系统软件定制开发
  • 徐州手机网站建设制作一个网站内容怎么规划
  • 通辽网站制作h5个人网站模板下载
  • 桃城网站建设服装网站模板
  • phpcmsv9中英文网站模板建站和定制建站