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

网站建设目录结构doc可以发布广告的网站

网站建设目录结构doc,可以发布广告的网站,给你网站你会怎么做的,做公益网站需要哪些部门认证一、概述 条件变量(pthread_cond_t)是POSIX线程#xff08;也称为pthread#xff09;库中用于线程同步的一种机制。在多线程程序中#xff0c;条件变量通常与互斥锁(pthread_mutex_t)一起使用#xff0c;以防止并发问题#xff0c;如竞态条件和死锁。 二、条件变量(pthre… 一、概述 条件变量(pthread_cond_t)是POSIX线程也称为pthread库中用于线程同步的一种机制。在多线程程序中条件变量通常与互斥锁(pthread_mutex_t)一起使用以防止并发问题如竞态条件和死锁。 二、条件变量(pthread_cond_t)操作函数 1. pthread_cond_init 初始化一个条件变量。 int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr); 2. pthread_cond_destroy 销毁条件变量。 int pthread_cond_destroy(pthread_cond_t *cond); 3. pthread_cond_wait 在等待条件变量时阻塞线程并释放互斥锁。当被pthread_cond_signal或pthread_cond_broadcast唤醒时线程重新获得锁并继续执行。 int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex); 4. pthread_cond_timedwait 类似于pthread_cond_wait但加入了超时限制。如果条件在超时之前没有得到满足函数返回一个错误码。 int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime); 5. pthread_cond_signal 唤醒至少一个等待给定条件变量的线程。 int pthread_cond_signal(pthread_cond_t *cond); 6. pthread_cond_broadcast 唤醒所有等待给定条件变量的线程。 int pthread_cond_broadcast(pthread_cond_t *cond); 三、互斥锁(pthread_mutex_t)操作函数 1. pthread_mutex_init 初始化一个互斥锁。 int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr); 2. pthread_mutex_lock 锁定互斥锁。如果已经被锁定线程将阻塞直到锁被解锁。 int pthread_mutex_lock(pthread_mutex_t *mutex); 3. pthread_mutex_unlock 解锁互斥锁。 int pthread_mutex_unlock(pthread_mutex_t *mutex); 4. pthread_mutex_destroy 销毁互斥锁。 int pthread_mutex_destroy(pthread_mutex_t *mutex); 四、代码示例 以下是利用条件变量和互斥锁进行线程同步的代码示例 #include pthread.h #include stdio.h #include stdlib.h #include unistd.h// 全局变量 pthread_mutex_t mutex; pthread_cond_t cond; int ready 0;// 线程函数 void* thread_func(void* arg) {// 加锁pthread_mutex_lock(mutex);// 等待条件变量变为readywhile (!ready) {pthread_cond_wait(cond, mutex);}printf(Thread %ld is now running.\n, (long)arg);// 解锁pthread_mutex_unlock(mutex);return NULL; }int main(void) {pthread_t thread1, thread2;pthread_mutex_init(mutex, NULL);pthread_cond_init(cond, NULL);pthread_create(thread1, NULL, thread_func, (void*)1);pthread_create(thread2, NULL, thread_func, (void*)2);sleep(2); // 等待一段时间// 加锁pthread_mutex_lock(mutex);// 更改条件并唤醒所有等待线程ready 1;pthread_cond_broadcast(cond);// 解锁pthread_mutex_unlock(mutex);pthread_join(thread1, NULL);pthread_join(thread2, NULL);pthread_cond_destroy(cond);pthread_mutex_destroy(mutex);return 0; } 在代码中我们创建了两个线程它们将等待条件变量ready变为1。当main()函数中将ready设置为1并调用pthread_cond_broadcast后所有等待中的线程将被唤醒并继续执行。 五、流程状态图
http://www.zqtcl.cn/news/703624/

相关文章:

  • 指定网站长期建设 运营计划网站淘宝客 没备案怎么做
  • 绵阳网站推广排名知名商业网站有哪些
  • 简要描述创建商务站点的商务天津建设工程合同备案网站
  • 做展示空间设计的网站wordpress调用作品分类
  • 网站怎么做访问量统计百度百科怎么创建自己
  • 泉州开发网站的公司有哪些网站页面相似度查询工具
  • 卖文章的网站源码咸阳做网站的公司电话
  • 网站建设案例百度云怎么在手机上传百度云wordpress
  • 传媒公司取名seo网站推广怎么收费
  • 网站建设具体详细过程WordPress usdt收款
  • 网站标题应怎设置生产备案号怎么查询网站
  • 怎样建立网站目录结构网站 项目方案
  • jsp做网站还响应式科技公司网站模板
  • 杭州网站建设设计公司做阀门网站
  • 用模板建站青岛企业网站制作公司
  • 网站建设经费预算表辽宁工程建设招标网
  • sql数据库查询网站模板谷歌浏览器网页版入口
  • 成都h5建站市场监督管理局举报电话
  • 百度推广弄个网站头像要钱吗?最新新闻热点素材
  • 江苏做网站找谁wordpress主题设置插件
  • 郑州微信网站开发建筑网招工平台
  • 给网站挂黑链普工招聘最新招聘信息
  • 重庆推广网站排名价格上海房产信息网官网
  • 深圳网站公司制作网络公司排名
  • 郑州高端做网站网页制作与网站建设实战大全光盘
  • 科技网站制作公司免费模板建站网站
  • 网页排版精美的中文网站单页设计软件
  • 图书馆网站建设情况会员卡管理系统价格
  • 网站建设的通知沈阳品牌设计公司
  • html5网站框架宝安网站建设深圳信科