polytope多进程多线程编程框架
polytope (多面体)是一套多进程多线程编程框架,快速构建产品软件。
- abnormal_exit(异常退出保护):防止多线程程序异常退出时fd未关闭、锁未释放等问题。
- async_io(异步IO):针对大数据量的eMMC存取。
- confmgr(配置管理):基于jsoncpp的配置文件参数管理。
- data_recorder:用于二进制数据记录及查找。
- fd:用于cdev、socket、fifo、pipe的IO监视。
- inotify:支持fd机制的文件或目录监视,非常灵活。
- log_server/log_client:本地日志和网络日志。
- event/msg:基于eventfd的线程间事件通知和消息通知机制。
- parallel_task(并行任务流):针对复杂分层算法的拆解。
- shm_reader:共享内存状态监视,针对跨进程大批量数据通信,基于posix shm + inotify实现。
- shm_manager:共享内存管理器,头部建立共享型pthread_rwlock,保证数据一致性、安全性。
- tcp_server/tcp_client:TCP通信,注册回调形式。
- udp_server/udp_client:UDP通信,注册回调形式。
- unix_server/unix_client:跨进程通信,注册回调形式。
- threadpool(线程池):针对阻塞任务和耗时任务。
- timer:基于timerfd的定时器,针对延后执行和周期执行任务。
- async_task(异步任务):针对阻塞型函数,如tcp建立链接connect()等。
- __attribute((constructor(*))):多线程管理、多进程管理。
- eqmq:去中心化、零协议、无序组网的订阅和发布服务。
- eqmq2.0:分布式版本。
评论