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

网站建设 电子书营销软文是什么意思

网站建设 电子书,营销软文是什么意思,wordpress插件删除失败,成都市住房和建设局官网文章目录 九、多线程6. 条件变量7. 生产者消费者模型 未完待续 九、多线程 6. 条件变量 在多线程编程中#xff0c;一个或多个线程可能需要等待某个条件的发生#xff0c;然后才能继续执行#xff0c;而不是一直忙等。这种等待通常会占用CPU资源。条件变量提供了一种机制一个或多个线程可能需要等待某个条件的发生然后才能继续执行而不是一直忙等。这种等待通常会占用CPU资源。条件变量提供了一种机制使得线程可以等待某个条件的发生同时释放CPU资源给其他线程使用。当一个线程需要等待某个条件时它会先获取互斥锁然后调用条件变量的等待函数此时互斥锁会被释放线程 进入等待队列 。当条件发生时另一个线程会获取互斥锁然后调用条件变量的 通知 函数通知等待的线程条件已经满足。总而言之条件变量就是一种 等待队列 通知唤醒 的机制。 这里条件变量的使用方法和互斥锁几乎一样这里不再描述。 我们来简单使用一下条件变量 Makefile testCond:testCond.ccg -o $ $^ -stdc11 -lpthread .PHONY:clean clean:rm -f testCondtestCond.cc #include iostream #include string #include pthread.h #include vector #include unistd.h using namespace std;// 全局的条件变量 pthread_cond_t gcond PTHREAD_COND_INITIALIZER; // 全局的互斥锁 pthread_mutex_t gmutex PTHREAD_MUTEX_INITIALIZER;void* MasterCore(void* args) {sleep(3);cout Master 线程开始工作了 endl;string name (const char*)args;while (true){// 唤醒等待队列头部的线程pthread_cond_signal(gcond);cout Masther 线程唤醒了一个线程 endl;// 唤醒所有线程//pthread_cond_broadcast(gcond);//cout Master 线程广播了一个信号, 唤醒了所有线程 endl;sleep(1);} }void* SlaverCore(void* args) {string name (const char*)args;while (true){// 加锁pthread_mutex_lock(gmutex);// 等待条件变量pthread_cond_wait(gcond, gmutex);// 解锁pthread_mutex_unlock(gmutex);cout 当前被叫醒的线程是: name endl;} }void StartMaster(vectorpthread_t* tidsptr) {pthread_t tid;int n pthread_create(tid, nullptr, MasterCore, (void*)Master Thread);if (n 0){cout Master Thread Created endl;}tidsptr-emplace_back(tid); }void StartSlaver(vectorpthread_t* tidsptr, int threadnum 3) {for (int i 0; i threadnum; i){char* name new char[64];snprintf(name, 64, Slaver-%d, i 1);pthread_t tid;int n pthread_create(tid, nullptr, SlaverCore, name);if (n 0){cout Slaver Thread name Created endl;tidsptr-emplace_back(tid);}} }void WaitThread(vectorpthread_t tids) {for (auto tid : tids){pthread_join(tid, nullptr);} }int main() {vectorpthread_t tids;StartMaster(tids);StartSlaver(tids, 5);WaitThread(tids);return 0; }7. 生产者消费者模型 生产者消费者模型是一种常见的并发编程模型用于解决多个线程之间的协作问题。在生产者消费者模型中有三种关系①生产者和生产者之间的互斥关系。②消费者和消费者之间的互斥关系。③生产者和消费者之间的互斥且同步的关系。有两种角色①负责生产数据的生产者。②负责消费数据的消费者。有一个交易场所①提供数据交易的可以短暂存储数据的内存——数据结构对象。 生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯而通过阻塞队列来进行通讯所以生产者生产完数据之后不用等待消费者处理直接扔给阻塞队列消费者不找生产者要数据而是直接从阻塞队列里取阻塞队列就相当于一个缓冲区平衡了生产者和消费者的处理能力。这个阻塞队列就是用来给生产者和消费者解耦的。 未完待续
http://www.pierceye.com/news/232093/

相关文章:

  • 山东seo网站推广河南定制网站建设企业
  • 网站建设文献文档单产品网站建设
  • 唐山网站建设自主开发宁波北仑做公司网站
  • 廊坊网页模板建站专业网站建设公司排名
  • 广州本地生活appseo百度百科
  • 成都产品网站建设镜像网站是怎么做的
  • 网站建设需求分析范例中国建设信息网站
  • 提供网站建设工具的品牌如何自己开个网站平台
  • 站长工具seo综合查询怎么去掉百家号查询排名数据查询
  • 网站怎么做商家定位注册网站不用手机短信验证的网站
  • 郑州医疗网站建设线下推广团队
  • 合肥网站推广 公司哪家好阿里云注销网站
  • 手机网站调用分享网站用户体验存在问题
  • 淘宝网官方网站路飞和女帝做h的网站
  • app网站设计制作360网站 备案
  • 网站建设多久能学会内丘网站建设案例
  • 网站设计要素 优帮云卖东西专业网站网上
  • 做古风人物小图的网站或软件东莞附近的网络推手公司
  • 东莞专业的单位网站建设江苏网站建设定制
  • 宁夏建设工程造价站网站东营网站seo外包
  • 推销网站建设今天重大新闻文字
  • 网站上线过程网站开发系统需求说明书
  • it外包行业江门seo网络推广
  • 深圳石岩建网站判断网站模板版本
  • 梅州市住房和城乡建设局网站东营网站
  • 免费手机端网站模板下载工具windows怎么做网站
  • 新乡网站自然优化本地电脑如何做网站服务器
  • 网站备案是域名备案还是服务器备案辽宁天一建设有限责任公司网站
  • 做网站的软件是什么阿里云官网入口
  • 徐州网站建设服务网络营销方式的优点