基于c++11的event-driven library的理解
做了一个不到200行的事件驱动库,基于c++11标准,header-only,跨平台。支持自定义事件,通过wake_up函数异步唤醒。写这个库的动机是想为之前自己写的日志库提供日志回滚机制。github:a header-only event-driven library based on c++11.一个基于c++11标准,仅需要头文件的事件驱动库:)。创建event_pool对象并申请一个线程做事件处理,在该线程中调用run函数。创建event_handle和time_handle对象并设置id_,type_,回调函数func_,上下文args_等,push进event_pool对象。在需要触发事件的时候调用wake_up函数。当需要关闭event_pool时,调用stop函数,然后回收线程,没有来得及处理的事件会被丢弃,即使当event_pool 对象完全销毁后,仍然可以调用wake_up函数,此时会直接返回。
用户评论