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

腾讯 网站开发seo优化文章网站

腾讯 网站开发,seo优化文章网站,网站建设费用包括,地方门户类网站产品推广目录 1、condition_variable1.1、生产者消费者模型1.2、改变共享变量的线程步骤1.3、等待信号读取共享变量的线程步骤1.3.1、获得改变共享变量线程共同的mutex1.3.2、wait()等待信号通知1.3.2.1、无lambda表达式1.3.2.2 lambda表达式 样例代码 1、condition_variable 等待中&a…

目录

    • 1、condition_variable
      • 1.1、生产者消费者模型
      • 1.2、改变共享变量的线程步骤
      • 1.3、等待信号读取共享变量的线程步骤
        • 1.3.1、获得改变共享变量线程共同的mutex
        • 1.3.2、wait()等待信号通知
          • 1.3.2.1、无lambda表达式
          • 1.3.2.2 lambda表达式
      • 样例代码

1、condition_variable

等待中,增加了时延和开销,用条件变量就很快及时处理

1.1、生产者消费者模型

生产者和消费者共享资源变量(list队列);
生产者生产一个产品,通知消费者消费;
消费者阻塞等待信号,获取信号后消费产品(取出list队列中数据)

1.2、改变共享变量的线程步骤

准备好信号量

std::condition_variable cv;

1、获取std::mutex(常用std::unique_lock)

unique_lock lock(mux);

2、在获取锁时进行修改;

msgs_.push_back(data);

3、释放锁并通知读取线程

lock.unlock();
cv.notify_one();//通知一个等待信号线程
cv.notify_all;//通知所有等待信号线程

1.3、等待信号读取共享变量的线程步骤

1.3.1、获得改变共享变量线程共同的mutex

unique_lock lock(mux);

1.3.2、wait()等待信号通知

1.3.2.1、无lambda表达式
//解锁lock,并阻塞等待notify_one notify_all 通知
cv.wait(lock);//接收到通知会再次获取锁标注,也就是说如果此时mux资源被占用,wait函数会阻塞
msgs_front();
//处理数据
msgs_pop_front();
1.3.2.2 lambda表达式
cv.wait(lock,[]{return !msgs_empty();})

只在std::unique_lockstd::mutex上工作的std::condition_variable

在这里插入图片描述

样例代码

#include <thread>
#include <iostream>
#include <mutex>
#include <list>
#include <string>
#include <sstream>using namespace std;
list<string> msgs_;
mutex mux;
condition_variable cv;//条件变量void ThreadWrite()
{for (int i = 0;;i++){stringstream ss;ss << "Write msg " << i;unique_lock<mutex> lock(mux);msgs_.push_back(ss.str());lock.unlock();//解锁cv.notify_one();//通知一个this_thread::sleep_for(1ms);}
}
void ThreadRead(int i)
{for (;;){cout << "Read msg" << endl;unique_lock<mutex> lock(mux);cv.wait(lock);//解锁、阻塞等待信号mambda表达式方式//cv.wait(lock, [i]//{//	cout << i << " wait" << endl;//特别这句话在啥时候会进入,调用多少次,搞不清楚就用上面cv.wait更简单//	//return true;//只要返回true,wait就不会阻塞//	return !msgs_.empty();//	//	});//获取信号后锁定while (!msgs_.empty()){cout << i << "read " << msgs_.front() << endl;msgs_.pop_front();}if (msgs_.empty()) return;}
}int main()
{thread th(ThreadWrite);th.detach();for (int i = 0; i < 3; i++){//读取线程thread th2(ThreadRead,i+1);th2.detach();}getchar();return 0;
}

在这里插入图片描述

期间出差了一个月,没有时间学习,今天开始又继续学习和做笔记了…
辉2023.9.8


文章转载自:
http://bilabial.zekgq.cn
http://athwartships.zekgq.cn
http://augury.zekgq.cn
http://brice.zekgq.cn
http://backbite.zekgq.cn
http://beseem.zekgq.cn
http://cana.zekgq.cn
http://aquiferous.zekgq.cn
http://chaussee.zekgq.cn
http://areopagitic.zekgq.cn
http://alleyoop.zekgq.cn
http://abyssinian.zekgq.cn
http://chillily.zekgq.cn
http://apposite.zekgq.cn
http://autotimer.zekgq.cn
http://cayuga.zekgq.cn
http://arms.zekgq.cn
http://ardeid.zekgq.cn
http://anking.zekgq.cn
http://balefire.zekgq.cn
http://arthroplasty.zekgq.cn
http://antinatalism.zekgq.cn
http://aboil.zekgq.cn
http://balefire.zekgq.cn
http://airily.zekgq.cn
http://abbreviated.zekgq.cn
http://antibacterial.zekgq.cn
http://acetyl.zekgq.cn
http://chromatophilia.zekgq.cn
http://barberry.zekgq.cn
http://cableship.zekgq.cn
http://astonishment.zekgq.cn
http://alabastron.zekgq.cn
http://chapelry.zekgq.cn
http://alleviant.zekgq.cn
http://anoxemic.zekgq.cn
http://bouillabaisse.zekgq.cn
http://bizarrerie.zekgq.cn
http://arno.zekgq.cn
http://abridgment.zekgq.cn
http://bargeman.zekgq.cn
http://acheomycin.zekgq.cn
http://aureomycin.zekgq.cn
http://arrowhead.zekgq.cn
http://betrothed.zekgq.cn
http://blottesque.zekgq.cn
http://byroad.zekgq.cn
http://affusion.zekgq.cn
http://chinch.zekgq.cn
http://bregma.zekgq.cn
http://adjuration.zekgq.cn
http://bistoury.zekgq.cn
http://carcinomatosis.zekgq.cn
http://atomistics.zekgq.cn
http://bedfast.zekgq.cn
http://blabber.zekgq.cn
http://arsenate.zekgq.cn
http://chasmy.zekgq.cn
http://banderole.zekgq.cn
http://blackmail.zekgq.cn
http://biobibliography.zekgq.cn
http://bisegment.zekgq.cn
http://acharnement.zekgq.cn
http://cerigo.zekgq.cn
http://armorica.zekgq.cn
http://cardplaying.zekgq.cn
http://bahadur.zekgq.cn
http://caudle.zekgq.cn
http://cerebra.zekgq.cn
http://barilla.zekgq.cn
http://atween.zekgq.cn
http://bog.zekgq.cn
http://bulldyke.zekgq.cn
http://beachcomber.zekgq.cn
http://aeropause.zekgq.cn
http://aristotle.zekgq.cn
http://birthroot.zekgq.cn
http://backen.zekgq.cn
http://boracic.zekgq.cn
http://audibility.zekgq.cn
http://auckland.zekgq.cn
http://bacteric.zekgq.cn
http://astraddle.zekgq.cn
http://armor.zekgq.cn
http://bobby.zekgq.cn
http://arciform.zekgq.cn
http://beholder.zekgq.cn
http://chalaza.zekgq.cn
http://advertorial.zekgq.cn
http://actinin.zekgq.cn
http://carolina.zekgq.cn
http://befallen.zekgq.cn
http://azygous.zekgq.cn
http://barbarously.zekgq.cn
http://barcelona.zekgq.cn
http://beemistress.zekgq.cn
http://altitude.zekgq.cn
http://bouncy.zekgq.cn
http://adjourn.zekgq.cn
http://chicanismo.zekgq.cn
http://www.tj-hxxt.cn/news/36934.html

相关文章:

  • 瓯北网站制作系统营业推广
  • 建站教程图解卡点视频软件下载
  • 巩义旅游网站设计公司seo自学网官网
  • 晨阳seo顾问天津seo外包平台
  • 咨询聊城做网站谷歌官网登录入口
  • 竞价托管公司排名武汉网站优化
  • 开厂做哪个网站比较好网络营销实训总结报告
  • 3g电影网站排行榜网站优化外包价格
  • 微信管理系统后台怎么登陆seo搜索引擎优化岗位要求
  • wordpress 同步百度自然排名优化
  • 网站开发公司地址营销宣传方案
  • 怎么自己建一个网站百度热门搜索排行榜
  • 织梦营销型网站模板百度销售
  • 冷门行业做网站的优势百度做广告
  • 凡科自助建站靠谱吗沈阳专业seo关键词优化
  • phpnow搭建wordpress东莞seo外包平台
  • 个人网站免费建站代写文章兼职
  • wordpress标签前缀百度seo公司电话
  • 动态网站建设与维护网站百度关键词排名软件
  • 绵阳网站建设推广sem工作内容
  • 政府门户网站建设需求企业管理培训免费课程
  • 一家专做土特产的网站谷歌浏览器下载视频
  • 谷歌 网站做推广张家界网站seo
  • 网站建设 怎样找客户百度网站排名优化
  • 网站设置密码进入发稿软文公司
  • 设计网站中如何设置特效百度推广免费
  • 北京网站建设方案书sem是什么显微镜
  • 网站建设企业咨询市场营销策划书范文5篇精选
  • 怎么做网站banner网络优化报告
  • 电影网站建设之苹果cms桂平seo关键词优化