libPhenom

C 语言并发编程框架
授权协议 Apache
开发语言 C/C++
所属分类 程序开发、 并发/并行处理框架
软件类型 开源软件
地区 不详
投 递 者 颜杰
操作系统 Linux
开源组织 Facebook
适用人群 未知
 软件概览

libPhenom 是 Facebook 发布的一个高性能的C语言并发编程框架,支持事件驱动,支持多线程,还提供了内存管理和常用数据结构,甚至是json处理。

示例代码:

#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/facebook/libphenom/blob/master/corelib/debug_console.c
  ph_debug_console_start("/tmp/phenom-debug-console");

  // Run
  ph_sched_run();

  return 0;
}
  •  安装 http://c-ares.haxx.se/ 安装 http://concurrencykit.org/ 编译步骤: $ ./autogen.sh $ ./configure $ make $ make check $ sudo make install [root@s3 libphenom-master]# ./configure checking build system type.

  • libPhenom是Facebook发布的一个C语言事件框架,用于构建高性能和高可扩展的系统。支持多线程、提供内存管理和常用数据结构、JSON处理。特性如下: 带有计数器的内存管理——记录应用程序正使用的内存类型的次数 工作——分解你的应用程序并用调度管理来搞定它们 带缓冲的I/O流 常用的数据结构(哈希表、列表、队列) 数据类型的变种来使能JSON的序列化和反序列化 带有注册对象格式的print

  • 使用说明:测试使用libphenom库的字符串追加函数, 效率是strcat的60多倍。所以在进行大量的字符串累加的时候可以考虑使用libphenom库  依赖库: ck-0.4.5.tar.gz cmake-3.1.2.tar.gz libtap-1.12.0.tar.bz2 libphenom.tar.gz 安装步骤:   tar zxf ck-0.4.5.tar.gz ./config

 相关资料
  • 本文向大家介绍Go语言并发模型的2种编程方案,包括了Go语言并发模型的2种编程方案的使用技巧和注意事项,需要的朋友参考一下 概述 我一直在找一种好的方法来解释 go 语言的并发模型: 不要通过共享内存来通信,相反,应该通过通信来共享内存 但是没有发现一个好的解释来满足我下面的需求: 1.通过一个例子来说明最初的问题 2.提供一个共享内存的解决方案 3.提供一个通过通信的解决方案 这篇文章我就从这三

  • 易语言破解 1、借助E-Code Explorer查找按钮事件 2、下消息断点,查看堆栈再返回 3、eCode法–断按钮事件 4、字符串法—插件/搜索所有参考文本 按钮事件固定模式: 0040EC78 837D F4 00 cmp dword ptr ss:[ebp-C],0 ;关键判断 0040EC7C 0F84 3B000000 je dcse.0040ECBD ;关键跳 0040EC82 6

  • VB语言破解 1、VBExplorer查找按钮事件 2、有提示框则 bp rtcMsgBox(断对话框) 3、通过bp __vbaStrCmp/__vbaStrComp/__vbaVarTstEq 4、万能断点法(816C24法) 5、字符串法—插件/搜索所有参考文本

  • Swift 是编写程序的绝佳选择,无论是手机、电脑还是服务器,任何能跑代码的设备都是如此。它是一门集现代语言之大成,集结了苹果的工程师文化精髓以及开源社区多样化于一身的编程语言。编译器为专为性能所调优,语言专为开发所优化,二者绝不互相妥协。

  • 明编程语言是一种简单快速的动态脚本语言。他支持以下特性 解释执行,不需要编译 动态参数类型,不需要设定参数类型 通过GC(垃圾收集器)自动管理内存分配和释放 面向对象 多重继承 操作符重载 提供数据构建操作符,方便复杂对象的创建 闭包与函数等价 多核/多线程优化 支持嵌入其他类型的文本文件(如HTML,XML) 支持用C/C++扩展 提供C API,可集成到其他程序中 明语言代码以GPL3发布。目

  • LIME 是一个使用类似 LISP 语法的动态编程语言 。 It features partial function application, eager and lazy evaluation, call-by-value and call-by-reference, macros, reading/writing LIME code as data, a standard library in

  • Delphi、BC++语言破解 1、DEDE结合PE Explorer找按妞事件 2、Point-H法 3、bp GetDlgItem/GetWindowTextA(W)/GetWindowTextLengthA(W) (断输入框) 4、bp MessageBoxA(W)(断对话框)—Ctrl+N 5、字符串法—插件/搜索所有参考文本 6、如果程序界面标题有[未注册/注册/VIP版/标准版/钻石版

  • C类语言破解 1、bp MessageBoxA(W)(断对话框)—Ctrl+N 2、Point-H法 3、bp GetDlgItem/GetWindowTextA(W)/GetWindowTextLengthA(W) (断输入框) 4、字符串法—插件/搜索所有参考文本