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

建立网站买空间哪家好网页设计的标准尺寸一般有哪些

建立网站买空间哪家好,网页设计的标准尺寸一般有哪些,白人与黑人做爰网站,购物网站推广怎么做背景: c20 关于多线程并发新增了 latch, barrier, semaphore ,接下来就按照一个一个进行介绍 latch latch 是一次性使用的线程协调点, 一旦给定数量的线程达到latch点时, 所有线程都会解除阻塞, 并继续执行. 基本上它是一个计数器, 在每个线程到达latch点时倒数, 一旦计数器达…背景: c20 关于多线程并发新增了 latch, barrier, semaphore ,接下来就按照一个一个进行介绍 latch latch 是一次性使用的线程协调点, 一旦给定数量的线程达到latch点时, 所有线程都会解除阻塞, 并继续执行. 基本上它是一个计数器, 在每个线程到达latch点时倒数, 一旦计数器达到0, latch 将无限制保持在一个有信号的状态, 所有阻塞线程都将解除阻塞, 随后到达latch点的任何线程会立刻被允许执行. latch 由 std::latch实现, 在latch 中定义, 构造函数接收需要到达latch点的所需线程数, 到达latch点的线程可以调用arrive_and_wait(), 它递减latch 计数器并阻塞, 直到latch有信号为止. 线程也可以通过调用wait 在不减少计数器的情况下阻塞在latch点上, try_wait() 方法可用与检查计数器是否达到零, 最后如果需要,还可以通过count_down()来减少计数器, 而不会阻塞. 代码如下: #includelatch #include vector #include iostream #include thread #include memory #include chronoint main() {std::vectorstd::jthread threads;std::latch startLatch{ 1 };for (int i 0; i 10; i){threads.push_back(std::jthread{[i, startLatch]{std::cout i in wait std::endl;startLatch.wait();std::cout i runing std::endl;}});}std::coutstart beforestd::endl;std::this_thread::sleep_for(std::chrono::milliseconds(5));startLatch.count_down();std::coutstart afterstd::endl;return 0; } clang -stdc20 -pthread latch.cpp barrier barrier 是由一系列阶段组成的可重用线程协调机制, 允许多线程在barrier点阻塞. 当给定数量的线程到达barrier时,  将执行完成阶段的回调, 解除所有阻塞线程的阻塞, 重制线程技术器, 并开始下一个阶段. 在每隔阶段中, 可以调整下一个阶段的预期线程数. barrier对于在循环之间执行同步非常有用. 例如假设多线程并发执行, 并在一个循环中执行一些计算. 进一步假设一旦这些计算执行完成, 需要在线程开始其循环的新迭代之前对结果进一步处理. 对于这种情况, 设置barrier是完美的, 所有的线程都会阻塞在barrier处, 当它们全部到达时, 完成阶段回调将处理结果, 然后解除所有阻塞, 以开始它们的下一次迭代. barrier 由 std::barrier实现, 在barrier中定义, barrier 最重要的方式是arrive_and_wait(), 他减少计数器, 然后阻塞线程, 直到当前阶段完成. 下边是具体代码示例 #includethread #includeiostream #includevector #include chrono #include barrier void completionFunction() noexcept { }int main() {const size_t numberOfThreads{4};std::barrier barrierPoint {numberOfThreads, completionFunction};std::vectorstd::jthread threads;for (int i 0; i numberOfThreads; i){threads.push_back(std::jthread{[i,barrierPoint](std::stop_token token){while (!token.stop_requested()){std::couti in waitstd::endl;barrierPoint.arrive_and_wait();std::couti runingstd::endl;std::this_thread::sleep_for(std::chrono::milliseconds(1000));}}});}return 0; } clang -stdc20 -pthread barrier.cpp semphore semphore 信号量 是轻量级同步原语, 可用作其他同步机制(如mutex, latch, barrier)的构建块. 基本上上一个semaphore由一个表示很多插槽的计数器组成. 计数器在构造函数中初始化. 如果获得了一个插槽, 计数器就减少, 而释放插槽将增加计数器. 在semaphore中定义了两个semaphore类, std::count_semaphore 和 binary_semaphore. 前一种模型是非负资源计数, 后者只有一个插槽, 该槽事空的, 要么不是空的, 完全适合作为互斥的构建快. 代码如下: #includeiostream #include semaphore #include thread #include vector int main() {std::counting_semaphore semaphore{4};std::vectorstd::jthread threads;for (int i 0; i 4; i){threads.push_back(std::jthread{[semaphore](){semaphore.acquire();semaphore.release();}});} } clang -stdc20 -pthread barrier.cpp
http://www.pierceye.com/news/583311/

相关文章:

  • 行业网站分类自建站排名
  • 网站备案 登陆安徽省住房和城乡建设厅网站领域
  • 做个网站需要多少钱.网站建设合同注意事项
  • 中国诚信建设网站在线代码生成器
  • 长沙企业网站建设团队目前网络最好的挣钱平台
  • 国家建设工程安全质量监督网站友情链接网
  • 适合html初学者做的网站中卫网站推广软件
  • 一个vps主机放两个网站 速度怎么做发卡网站
  • 海米云网站建设网站开发 去哪里找页面
  • 天津做网站优化的公司新手学做网站优化
  • 万网怎么上传网站wordpress google字体 360
  • 为什么建设的网站有时候访问慢6紫金优化网站制作
  • 如何在公司系统建网站广州短视频seo哪家好
  • 电气网站开发福安网站定制
  • 推荐一下做图文的网站html简单的个人网页代码
  • 网页新建站点网站建设缺陷
  • 移动端网站推广怎么申请pc网站域名
  • 外国男男做暧暧视频网站二级建造师考试试题
  • 普通网站建设是什么wordpress主题显示不
  • 朔州网站建设全球速卖通是什么平台
  • wordpress外贸网站好用的模板下载网站开发就业趋势
  • 长春模板建站代理网站开发嘉比格网络
  • 网站建设预算企业网站的公司和产品信息的介绍与网络营销关系
  • 网站开发的学习电子商务网站建设公
  • 网站的功能需求分析c语言网页编辑器
  • 网站投资多少钱制作做的网站如何上传网上
  • 沈阳自助建站模板网站建设想法
  • 湖南岳阳网站建设公司黄页顺企网怎样不让网站被收录
  • 有没有专门做翻译的网站安徽建设工程信息网招标公告
  • 保险咨询网站留电话中国十大网络公司排行榜