走神一会
你生而有翼,为何竟愿一生匍匐前进,形如虫蚁?
「学而不思则罔、思而不学则殆」的意思是:
想顺利的学会「内思」要与「关系」思考方式结合起来练。
否则,直接学「内思」,初学者会陷入练习的困境,这就是罔。
而只依靠「关系」思考方式,又会带来很大的危害,这就是殆。 作者:心智玩家的简书链接:https://www.jianshu.com/p/2940cf732b94来源
「内思」,用元神意识直接「看」意识影像,是需要经过一段时间的练习以后,才能达到的状态。没有经过练习,不容易做到。
历史渊源
首先介绍一下这个库的历史渊源,从代码贡献者来看,ST不是个人作品,而是有着雄厚的商业支持和应用背景,比如服务器领域,在这里你可以看到ST曾作为Apache的多核应用模块发布。
其诞生最初是由网景(Netscape)公司的MSPR(Netscape Portable Runtime library)项目中剥离出来,后由SGI(Silicon Graphic Inc)还有Yahoo!公司(前者是主力)开发维护的独立线程库。
版本方面,作为SourceForge上开源项目,
由2001年发布v1.0以来一直到2009年v1.9稳定版后未再变动。
在平台移植方面,从Makefile的配置选项中可知ST支持多种Unix-like平台,还有专门针对Win32的源码改写。
源码例子中,提供了web server、proxy以及dns三种编程实例供参考。
可以说代码质量应该是相当的稳定和可靠的。
卡片
state threads library | 3000行C代码 | 历史渊源 |
Libtask | a Coroutine Library for C and Unix |
学习记录
一、doc
阅读文档1 ,累计盘茄次数 5 耗时 130分钟
理解 ST本质上仍然是基于EDSM模型,但旨在取代传统的异步回调方式 ,为互联网应用程序而生的State Threads
涉及内容
State Threads Library Documentation
关键词:
- ST scheduler (不懂)
- traditional EDSM (不懂)
- virtual processor (不懂)
- ,ST的threads可以并发地线性地处理I/O事件 (不懂)
execute state event wait queue
setjmp/longjmp (不懂)
看了一下代码和运行一个例子 懂了
The Go scheduler
TCP-Finite-State-Machine TCP 有限状态机
阅读文档2 ,累计盘茄次数 3 耗时 100分钟
理解 Libtask: a Coroutine Library for C and Unix 含义
涉及内容
二、 code
|
|
三、talk
task 编译成动态库和静态库 30分钟
1 2 3 4 5 6 7 8 9 10 11 12 13 14
git clone https://github.com/wangcy6/state-threads.git cd state-threads make linux-debug //不同平台 state-threads/obj/ libst.so.1.9 libst.a cd examples/ make linux-debug //不同平台 EXAMPLES = $(OBJDIR)/lookupdns $(OBJDIR)/proxy $(OBJDIR)/server ./lookupdns www.baidu.com www.google.com www.bing.com
项目应用
暂无
参考