- 授权协议: Apache-2.0
- 开发语言: C/C++
- 操作系统: 跨平台
- 软件首页: https://github.com/CopernicaMarketingSoftware/REACT-CPP
- 软件文档: https://github.com/CopernicaMarketingSoftware/REACT-CPP/blob/master/README.md
- 官方下载: https://github.com/CopernicaMarketingSoftware/REACT-CPP/releases
软件介绍
REACT-CPP 是利用 C++ 11 的 lambda 表达式在文件描述符或定时器激活的时候进行通知的事件循环库。在它内部实质是对 libev 库的包装,因此也依赖于该库。
在一个典型的应用程序中,你创建了一个 mainloop 类的实例,然后注册你想要查看的 filedescriptors,注册事件处理程序和计时器:
#include <reactcpp.h>
#include <unistd.h>
#include <iostream>
/**
* Main application procedure
* @return int
*/
int main()
{
// create an event loop
React::MainLoop loop;
// set a timer to stop the application after five seconds
loop.onTimeout(5.0, []() {
// report that the timer expired
std::cout << "timer expired" << std::endl;
// stop the application
exit(0);
});
// we'd like to be notified when input is available on stdin
loop.onReadable(STDIN_FILENO, []() -> bool {
// read input
std::string buffer;
std::cin >> buffer;
// show what we read
std::cout << buffer << std::endl;
// return true, so that we also return future read events
return true;
});
// handler when control+c is pressed
loop.onSignal(SIGINT, []() -> bool {
// report that we got a signal
std::cout << "control+c detected" << std::endl;
// stop the application
exit(0);
// although this code is unreachable, we return false because
// we're no longer interested in future SIGINT signals
return false;
});
// run the event loop
loop.run();
// done
return 0;
}
Redis 深度历险:核心原理与应用实践
钱文品 / 电子工业出版社 / 2019-1 / 79
Redis 是互联网技术架构在存储系统中使用得最为广泛的中间件,也是中高级后端工程师技术面试中面试官最喜欢问的工程技能之一,特别是那些优秀的互联网公司,通常要求面试者不仅仅掌握 Redis 基础用法,还要理解 Redis 内部实现的细节原理。《Redis 深度历险:核心原理与应用实践》作者老钱在使用 Redis 上积累了丰富的实战经验,希望帮助更多后端开发者更快、更深入地掌握 Redis 技能。 ......一起来看看 《Redis 深度历险:核心原理与应用实践》 这本书的介绍吧!
