構建高性能系統的C語言事件框架:libPhenom
libPhenom 是 非死book 發布的一個C語言事件框架,用于構建高性能和高可擴展的系統。支持多線程,提供內存管理和常用數據結構(hash tables, lists, queues),json處理。
- Memory management with counters - record how much of which kinds of memory your application is using.
- Jobs - decompose your application into portions of work and let the phenom scheduler manage getting them done
- streaming I/O with buffers
- Handy data structures (hash tables, lists, queues)
- Variant數據類型,實現JSON的序列化和反序列化
- A printf implementation with registerable object formatting
示例代碼:
#include "phenom/defs.h"
#include "phenom/job.h"
#include "phenom/log.h"
#include "phenom/sysutil.h"
int main(int argc, char **argv)
{
// Must be called prior to calling any other phenom functions
ph_library_init();
// Optional config file for tuning internals
ph_config_load_config_file("/path/to/my/config.json");
// Enable the non-blocking IO manager
ph_nbio_init(0);
// Do stuff here to register client/server stuff.
// This enables a very simple request/response console
// that allows you to run diagnostic commands:
// `echo memory | nc -UC /tmp/phenom-debug-console`
// The code behind this is in
// https://github.com/非死book/libphenom/blob/master/corelib/debug_console.c
ph_debug_console_start("/tmp/phenom-debug-console");
// Run
ph_sched_run();
return 0;
}
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!