C++ 事件循环库 REACT-CPP

码农软件 · 软件分类 · 其他开发相关 · 2019-10-16 20:29:22

软件介绍

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;
}

本文地址:https://www.codercto.com/soft/d/16910.html

Spring 2企业应用开发

Spring 2企业应用开发

人民邮电出版社 / 2008-10 / 45.00元

《Spring 2企业应用开发》是一部权威的实战指南,由Spring开发团队撰写,全面讲述了Spring2企业应用开发。主要涵盖SpringFramework、核心容器、AOP(面向方面编程)、典型的SpringAOP框架等内容。通过阅读《Spring 2企业应用开发》,读者能够在实战中掌握Spring最佳实践,成为高效的Java开发人员。一起来看看 《Spring 2企业应用开发》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具