![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
ox0080
surprise
展开
-
C++异步定时事件
异步std::async,std::futureC++标准库提供std::async ,std::future,两个高级接口。async() ,使一个callable object,在后台运行成为一个独立线程。class future<> ,允许等待线程结束获取其返回结果(返回值也可能是一个异常)。#include <iostream>#include <...原创 2019-12-06 11:42:40 · 709 阅读 · 0 评论 -
C++ 实现then,lambda链式调用
lambda 链式调用C++11支持lambda和function,在一些延迟计算的场景下,这个链式调用的需求更加强烈。链式调用的目的是,将多个函数按照前一个的输出作为下一个的输入串起来,然后推迟到某个时刻再计算。C++中链式调用比较少见,因为实现比较复杂。template<typename T>class Task;template<typename R,typenam...原创 2019-12-06 10:51:19 · 3930 阅读 · 0 评论 -
Seastar- complete tutorial (3)
Seastar 是一个 c + + 库,用于在现代多核机器上编写高效的复杂服务器应用程序。传统上,用于编写服务器应用程序的编程语言库和框架被划分为两个不同的阵营: 注重效率的阵营和注重复杂性的阵营。 有些框架非常高效,但是只允许构建简单的应用程序(例如,DPDK 允许单独处理数据包的应用程序) ,而其他框架允许构建极其复杂的应用程序,代价是运行时效率。 Seastar 是我们两全其美的尝试: 创...原创 2019-11-29 11:50:01 · 411 阅读 · 0 评论 -
Seatsar mini-tutorial(2)
Future and promiseA future is a result of a computation that may not be available yet. Examples include:未来是计算的结果,可能尚未可用,例如:a data buffer that we are reading from the network 我们从网络中读取的数据缓冲区the expi...原创 2019-11-29 11:41:57 · 124 阅读 · 0 评论 -
Seastar-Basic knowledge(1)
SeaStar is an event-driven framework allowing you to write non-blocking, asynchronouscode in a relatively straightforward manner (once understood). It is based on futures.原创 2019-11-29 11:38:13 · 140 阅读 · 0 评论 -
C++创建线程池
池:线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程...原创 2018-11-17 12:32:33 · 1482 阅读 · 0 评论