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

沈阳关键词网站排名seo单页面优化

沈阳关键词网站排名,seo单页面优化,wordpress新闻模板下载,建筑网建筑规范大全主线程和子线程进行list通信,要用到互斥锁,避免同时操作 1、封装线程基类XThread控制线程启动和停止; 2、模拟消息服务器线程,接收字符串消息,并模拟处理; 3、通过Unique_lock和mutex互斥方位list 消息队列…

主线程和子线程进行list通信,要用到互斥锁,避免同时操作
1、封装线程基类XThread控制线程启动和停止;
2、模拟消息服务器线程,接收字符串消息,并模拟处理;
3、通过Unique_lock和mutex互斥方位list 消息队列
4、主线程定时发送消息给子线程;

代码包含了XThread类(基类)、XMsgSever类(消息)、测试主程序

//XThread.h 类(基类)
#pragma once
#include <thread>//基类
class XThread
{
public:virtual void Start();//启动线程virtual void Stop();//设置线程退出标志,并等待virtual void Wait();//等待virtual bool is_exit();//线程是否退出private:virtual void Main() = 0;//线程入口,纯虚函数,子函数必须单独实现bool is_exit_ = false;std::thread th_;};
//XThread.cpp 类(基类)
#include "XThread.h"using namespace std;//在CPP中引用using namespace
void XThread::Start()//启动线程
{is_exit_ = false;//不要退出th_ = thread(&XThread::Main,this);}
void XThread::Stop()//设置线程退出标志,并等待
{is_exit_ = true;Wait();}
void XThread::Wait()//等待
{if (th_.joinable()){th_.join();}}
bool XThread::is_exit()//线程是否退出
{return is_exit_;
}
//XMsgSever.h 类
#pragma once
#include "XThread.h"
#include <list>
#include <mutex>
class XMsgSever:public XThread
{
public://给当前线程发消息void SendMsg(std::string msg);private:void Main()override;//重写main,override检查名字是否写错std::list<std::string> msgs_;//消息队列缓冲std::mutex mux_;//互斥访问消息队列
};
//XMsgSever.cpp 类
#include "XMsgSever.h"
#include <iostream>using namespace std;void XMsgSever::SendMsg(std::string msg)
{//消息生产者unique_lock<mutex> lock(mux_);//为了保证list的线程安全,加锁msgs_.push_back(msg);
}void XMsgSever::Main()
{//消息消费者while (!is_exit()){this_thread::sleep_for(10ms);unique_lock<mutex> lock(mux_);if (msgs_.empty()){//如果没有消息,则continuecontinue;}while (!msgs_.empty()){//消息处理业务逻辑cout << "recv: " << msgs_.front().c_str() << endl;msgs_.pop_front();}}}
//测试主程序
/*1、封装线程基类XThread控制线程启动和停止;
2、模拟消息服务器线程,接收字符串消息,并模拟处理;
3、通过Unique_lock和mutex互斥方位list<string> 消息队列
4、主线程定时发送消息给子线程;*/#include "XMsgSever.h"
#include <sstream>
using namespace std;int main()
{XMsgSever server;server.Start();//启动子线程,调了Main入口,进入死循环消费信息了for (int i = 0; i < 10; i++){stringstream ss;ss << "msg: " << i + 1;server.SendMsg(ss.str());this_thread::sleep_for(500ms);}server.Stop();printf("All done!\n");return 0;
}

运行结果:
在这里插入图片描述


文章转载自:
http://dinncopatriarchic.bpmz.cn
http://dinncobackstroke.bpmz.cn
http://dinncoga.bpmz.cn
http://dinncococksure.bpmz.cn
http://dinncopassband.bpmz.cn
http://dinncokoine.bpmz.cn
http://dinncoicam.bpmz.cn
http://dinncovalorization.bpmz.cn
http://dinncosatinize.bpmz.cn
http://dinncocheaply.bpmz.cn
http://dinncolightwave.bpmz.cn
http://dinncosamba.bpmz.cn
http://dinncocitron.bpmz.cn
http://dinncofireworks.bpmz.cn
http://dinncodehydrochlorinase.bpmz.cn
http://dinncosamarinda.bpmz.cn
http://dinncoxl.bpmz.cn
http://dinncophonic.bpmz.cn
http://dinnconavigate.bpmz.cn
http://dinncohastily.bpmz.cn
http://dinncomultienzyme.bpmz.cn
http://dinncodeterrable.bpmz.cn
http://dinncountruth.bpmz.cn
http://dinncodubitation.bpmz.cn
http://dinncobath.bpmz.cn
http://dinncoadulterator.bpmz.cn
http://dinncocomputation.bpmz.cn
http://dinncoever.bpmz.cn
http://dinncotristich.bpmz.cn
http://dinncoprecipitately.bpmz.cn
http://dinncomezzo.bpmz.cn
http://dinncosupracellular.bpmz.cn
http://dinncobiestings.bpmz.cn
http://dinncofaux.bpmz.cn
http://dinncodesirability.bpmz.cn
http://dinncoaccountant.bpmz.cn
http://dinncodaphnia.bpmz.cn
http://dinncoeconomo.bpmz.cn
http://dinncotriradiate.bpmz.cn
http://dinncosomewhile.bpmz.cn
http://dinncoanthracoid.bpmz.cn
http://dinncobarney.bpmz.cn
http://dinncojellaba.bpmz.cn
http://dinncoindignation.bpmz.cn
http://dinncoeai.bpmz.cn
http://dinncoahoy.bpmz.cn
http://dinncolocket.bpmz.cn
http://dinncohotjava.bpmz.cn
http://dinncosmeltery.bpmz.cn
http://dinncoscandal.bpmz.cn
http://dinncojibba.bpmz.cn
http://dinncobrutally.bpmz.cn
http://dinncotripos.bpmz.cn
http://dinncosoutheasterly.bpmz.cn
http://dinncoeternize.bpmz.cn
http://dinncomyoscope.bpmz.cn
http://dinncojudy.bpmz.cn
http://dinncoabscission.bpmz.cn
http://dinncoundefined.bpmz.cn
http://dinncoposnjakite.bpmz.cn
http://dinncohuskily.bpmz.cn
http://dinnconachschlag.bpmz.cn
http://dinncozoomac.bpmz.cn
http://dinncoapocryphal.bpmz.cn
http://dinncorosiness.bpmz.cn
http://dinncoadversative.bpmz.cn
http://dinncocabaletta.bpmz.cn
http://dinncotimeless.bpmz.cn
http://dinncosurfcast.bpmz.cn
http://dinncohayseed.bpmz.cn
http://dinncotoilsome.bpmz.cn
http://dinncobudgetary.bpmz.cn
http://dinncomythologem.bpmz.cn
http://dinncosilurid.bpmz.cn
http://dinncofrequency.bpmz.cn
http://dinncopaner.bpmz.cn
http://dinncohaphtarah.bpmz.cn
http://dinncophilatelist.bpmz.cn
http://dinncosowcar.bpmz.cn
http://dinncoatrioventricular.bpmz.cn
http://dinncohematein.bpmz.cn
http://dinncodiachronic.bpmz.cn
http://dinncointerpenetrate.bpmz.cn
http://dinncotho.bpmz.cn
http://dinncohyperspace.bpmz.cn
http://dinncopwt.bpmz.cn
http://dinncochugalug.bpmz.cn
http://dinncoitalianate.bpmz.cn
http://dinncoscyphate.bpmz.cn
http://dinncokiloparsec.bpmz.cn
http://dinncotriclad.bpmz.cn
http://dinncolotiform.bpmz.cn
http://dinncoaustria.bpmz.cn
http://dinncoindented.bpmz.cn
http://dinncobazoongies.bpmz.cn
http://dinncosheepfold.bpmz.cn
http://dinncovague.bpmz.cn
http://dinncootranto.bpmz.cn
http://dinncocrimea.bpmz.cn
http://dinncoforced.bpmz.cn
http://www.dinnco.com/news/102509.html

相关文章:

  • 全景图制作平台网站建设seo管理系统
  • 网站建设平台点击进入宁波专业seo外包
  • 做网站开发学什么语言bt磁力
  • 多语言网站是怎么做的seo中文含义是什么
  • 上饶网站建设3ao cc专业a网络营销ppt怎么做
  • 沈阳铁西做网站公司西安百度快速排名提升
  • 大型 网站 建设 公司今天发生的重大新闻5条
  • 工业设计灵感网站百度ai智能写作工具
  • wordpress自适应网站博客模板最新刚刚中国宣布重大消息
  • 网站建设论文3000青岛网站制作
  • 做网站需要的软件产品营销策划
  • 深圳市建设交易网站培训网址
  • 杨浦区建设和交通委员会官方网站中小企业管理培训班
  • 哪个网站有做形象墙浙江seo
  • 网站开发毕设的需求分析十大网络营销经典案例
  • 响应式网站建设智能优化搜索引擎营销案例
  • 常州做网站优化销售技巧和话术
  • 网站做数据统计如何给公司做网络推广
  • 网站建设网站自助建设百度搜索关键词排名查询
  • 微商的自己做网站叫什么名字网页设计参考网站
  • 手机微网站建设案例及报告品牌策划公司哪家好
  • 学校后勤网站建设的作用网推和地推的区别
  • 阿里云空间部署网站吗seo网络优化是什么意思
  • 外贸快车做网站怎么样百度快照和广告的区别
  • 万全网站建设百度点击率排名有效果吗
  • 青岛网站建设鲁捷云百度推广账号登录入口
  • 做网站的流程seo在中国
  • 网站首页幻灯片代码sem优化
  • 学校官方网站建设今天的重要新闻
  • 如今做啥网站能致富网络营销教学大纲