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

优化一个网站多少钱做网站用虚拟机还是服务器

优化一个网站多少钱,做网站用虚拟机还是服务器,商标注册查询app,wordpress出境游<syncstream>是C20中新增加的头文件&#xff0c;提供了对同步输出流的支持&#xff0c;即在多个线程中可安全地进行输出操作&#xff0c;此头文件是Input/Output库的一部分。包括&#xff1a; 1.std::basic_syncbuf&#xff1a;是std::basic_streambuf的包装器(wrapper)&…

      <syncstream>是C++20中新增加的头文件,提供了对同步输出流的支持,即在多个线程中可安全地进行输出操作,此头文件是Input/Output库的一部分。包括:

      1.std::basic_syncbuf:是std::basic_streambuf的包装器(wrapper),它将输出累积在其自己的内部缓冲区中,并在销毁时以及明确请求时将其全部内容自动传输到包装的缓冲区,以便它们显示为连续的字符序列。此类模板主要用于创建与多线程程序无缝协作的自定义流类。如果多个线程试图同时写入同一个流,std::basic_syncbuf将确保每个线程的输出都以正确的顺序写入流,而不会出现任何交错。

using syncbuf  = basic_syncbuf<char>;
using wsyncbuf = basic_syncbuf<wchar_t>;

      2.std::basic_osyncstream:是std::basic_syncbuf的便捷包装器。它提供了一种机制来同步写入同一流的线程。

using osyncstream  = basic_osyncstream<char_t>;
using wosyncstream = basic_osyncstream<wchar_t>;

      测试代码如下:

namespace {void func1(int id, std::ostream& sync_out)
{std::osyncstream sync_stream(sync_out);sync_stream << "thread " << id << " is running" << std::endl;
}void func2(int id, std::ostream& out)
{out << "thread " << id << " is running" << std::endl;
}void sync(std::ofstream& file_out)
{std::syncbuf sync_buf(file_out.rdbuf());std::ostream sync_out(&sync_buf);constexpr int num_threads{ 10 };std::vector<std::thread> threads;for (int i = 0; i < num_threads; ++i)threads.emplace_back(func1, i, std::ref(sync_out));for (auto& t : threads)t.join();
}void common(std::ofstream& file_out)
{constexpr int num_threads{ 10 };std::vector<std::thread> threads;for (int i = 0; i < num_threads; ++i)threads.emplace_back(func2, i, std::ref(file_out));for (auto& t : threads)t.join();
}} // namespaceint test_syncstream()
{
#ifdef _MSC_VERstd::ofstream file_out1("../../../testdata/output1.txt");std::ofstream file_out2("../../../testdata/output2.txt");
#elsestd::ofstream file_out1("testdata/output1.txt");std::ofstream file_out2("testdata/output2.txt");
#endifif (!file_out1 || ! file_out2) {std::cerr << "fail to open file for writing" << std::endl;return -1;}sync(file_out1);common(file_out2);file_out1.close();file_out2.close();return 0;
}

      执行结果如下图所示:每次输出并不完全一致:output2.txt中输出是乱的,而output1.txt中的输出是正常的

      GitHub:https://github.com/fengbingchun/Messy_Test

http://www.yayakq.cn/news/284876/

相关文章:

  • 文档阅读网站模板下载青岛美工网页设计
  • 游戏开发网站开发自己怎么注册公司网站流程
  • 怎么把几个网站做互通凡科轻站官网
  • ps临摹图片做网站的图片犯法吗seo任务优化网站排名
  • 东莞建筑建设网站建设代理招生平台
  • 建设一个人才网站需要的人才如何做好网站的优化
  • iis7架设网站教程企业网站手机版
  • 怎么识别一个网站怎样自己做公司网站
  • 游戏ui素材网站wordpress 当前页面
  • 在建设厅网站怎么办建造师延期贵阳网络营销推广公司
  • 服务器怎么装网站吗外贸做什么产品出口好
  • 品牌网站建设 磐石网络的确好电子商务网站建设与管理第二版答案
  • 对网站建设的维护期货交易网站开发
  • 度假区网站建设方案芮城做网站的机构
  • 网站建设平面要多少分辨率seo服务的三种方式
  • 上杭县住房和城乡建设局网站电子商务网站设计成功的要素
  • 网店代运营网青岛seo整站优化招商电话
  • 建设网站有哪些参考文献设计网名字
  • 企业网站建设的主要内容网络维修电话
  • 做面食专业网站优创意设计平台
  • 免费个人网站建站申请商城网站制作深圳网站制作
  • 做高仿表网站安徽津城建设工程有限公司网站
  • 傻瓜式网页制作网站个人站长怎么做企业网站
  • 解析域名后怎么弄网站企业网站建设一般原则
  • 档案网站建设的步骤263企业邮箱官网登录
  • 手机端自适应网站布局互联网商城建设
  • 门户网站建设方案文档甘肃网络推广软件
  • 重庆建站模板云南建设投资集团网站首页
  • 网站建设是怎么赚钱的网站建设公司中企动力强
  • 本地网站架设工具wordpress用户登陆