在Ubuntu 14.04 64bit上编译并研究State Threads网络线程库源码
State Threads是一个广受关注的高性能网络线程库,winlin在SRS中做了比较充分的应用,我很遗憾直到现在才精心研究它。下面是我的研究实录,以作备忘。
一、源码编译
//gcc -I../obj -g huge_threads.c ../obj/libst.a -o huge_threads
//./huge_threads 10000
//./huge_threads 30000
//#include <stdio.h>
#include "st.h"#define SLEEP_INTERVAL 30 //in msvoid* do_calc(void* arg){long pidx = *(long*)arg;for(;;){printf("sthread [#%ld] usleep\n", pidx);st_usleep(SLEEP_INTERVAL * 1000);}return NULL;
}int main(int argc, char** argv){if(argc <= 1){printf("Test the concurrence of state-threads!\n""Usage: %s <sthread_count>\n""eg. %s 10000\n", argv[0], argv[0]);return -1;}if(st_init() < 0){printf("state threads lib runtime init error!");return -1;}int i, count = atoi(argv[1]);for(i = 1; i <= count; i++){if(st_thread_create(do_calc, (void*)&i, 0, 0) == NULL){printf("create state thread %d failed\n", i);return -1;}}st_thread_exit(NULL);return 0;
}
编译
运行过程中,利用top查看程序性能,按ctrl+C中断
参考链接
[1].http://blog.csdn.net/win_lin/article/details/8242653 winlin的译文,不错,原文在源码doc目录中
[2].http://www.obroot.com/state-threads-for-internet-applications/?utm_source=tuicool 另一篇中文翻译,不错
[3].https://github.com/winlinvip/state-threads winlin移植精简版本
[4].http://sourceforge.net/projects/state-threads/ state-threads官网源码
[5].http://coolshell.cn/articles/12012.html 不可多得的心得荟萃
在Ubuntu 14.04 64bit上编译并研究State Threads网络线程库源码相关推荐
- 在Ubuntu 14.04 64bit上编译安装xbt tracker
下文参照如下链接,只是记录了我的所有实际安装过程,仅供各位参考. http://blog.csdn.net/liwf616/article/details/9245901 xbt项目主页 https: ...
- 在Ubuntu 14.04 64bit上编译安装Crtmpserver trunk svn 811版本!
这里仅在 在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务 基础上补充一下在Ubuntu 14.04上编译安装Crtmpserver的方法,以作备忘.因为Ubuntu 1 ...
- Ubuntu 14.04 64bit上编译安装simple-rtmp-server(srs)服务器
下面的操作完全按照参考文献[1]进行,请采用root用户登陆,我这里只是记录了一下我在Ubuntu 14.04上面编译安装的过程.以作今后参考.该篇文章显示了srs提供的一个demo实例,包括实时流的 ...
- Ubuntu 14.04 64bit上编译安装MonaServer并测试
1.安装依赖和要求 MonaServer基于C++ 11编写, 比如会用到std::thread, std::unique_ptr, 要求GCC版本至少为4.8.2 对于Ubuntu 14.04.2来 ...
- 在Ubuntu 14.04 64bit上安装Markdown和绘图软件Haroopad
简介 Haroopad:一款让你欲罢不能的Markdown编辑器 身为大程序员,我本来是不需要 Markdown 编辑器的,但是 Haroopad 让我简直欲罢不能,不能再爱更多.跨平台,代码高亮,V ...
- 在Ubuntu 14.04 64bit上安装StarUML 2.5版本
StarUML是来自韩国的一个优秀的UML绘图软件, 原来是免费软件, 现在需要付费购买.当然免费使用功能会有诸多限制. 它支持Windows, Linux和Mac OS等平台. 下面是我在Ubunt ...
- 在Ubuntu 14.04 64bit上生成ATS本地离线文档
下面是在Ubuntu 14.04 64bit上生成ats本地离线文档的方法 首先请安装配置好sphinx环境,参见我前面的博文 http://blog.csdn.net/tao_627/article ...
- 在Ubuntu 14.04 64bit上安装Markdown编辑器Remarkble
目前Markdown已经是非常流行和高效的文档整理和书写工具语言, 我以前接触过, 但是一直没有坚持下来, 这次五一假期期间我强迫自己去熟悉它的语法格式和编辑器, 原来我在Ubuntu 14.04 6 ...
- 在Ubuntu 14.04 64bit上安装百度云Linux客户端BCloud
百度云是一个不错的网盘,Bcloud 是一个 Linux 下超赞的客户端, 官网 github: https://github.com/LiuLang/bcloud-packages 和kwplaye ...
最新文章
- 22课时、19大主题,CS 231n进阶版课程视频上线
- SVN使用教程之——分支、合并
- Istio 将被捐赠给开源基金会 | 云原生生态周报 Vol. 47
- 前端月趋势榜:4 月最热门的 20 个前端开源项目 - 2104
- android java加密_Android Java字符串加密
- C语言 十进制和八进制相互转换 - C语言零基础入门教程
- OpenGL Sharders(着色器) 入门
- python api测试框架_python api 测试框架
- leecode刷题(4)-- 存在重复数组
- 8.6 edu25 ,577#div2 CF补题(二分 ,dp 与 贪心
- 不安全网络中的数据安全传输利器——GnuPG(上)
- 《暗黑3》是如何设计随机地下城的?
- 《概率论与数理统计》之常见概率分布
- 尚硅谷Java入门视频教程第五章——面向对象编程(中)
- Delphi TStringList DBRichEdit 删除尾部多余换页符
- 树莓派如何修改WIFI账户和密码
- 分治法 循环比赛日程表
- Photoshop鼠绘教程:逼真鲜活金鱼的绘制
- 《数据库》_考研复试_面试篇
- google外链怎么做?谷歌网站做外链的方法
热门文章
- winform让子窗体始终居于父窗体的中间
- Java知多少(29)覆盖和重载
- HDU 3549 Flow Problem(最大流模版EK算法)
- C# 导出到Excel (使用NPOI 1.2.4)
- 编译工具 之 ant
- 字符串匹配shiftand算法
- 微擎 jssdk php文件,微擎register_jssdk分享到朋友功能无法使用的问题及解决办法
- android点击失效,android点击无效验证的解决方法
- rpm方式安装mysql5.7.24_linux centOS 7安装mysql 5.7.24
- nodejs ld linux.so,请教大神,如何在独立虚拟主机上配置node.js开发环境?