mirror of
https://gitee.com/acl-dev/acl.git
synced 2024-11-30 02:47:56 +08:00
Update README.md
This commit is contained in:
parent
c98290445b
commit
b645636cc0
@ -2,7 +2,7 @@
|
||||
本网络协程库的协程部分是基于 Russ Cox (golang 的协程作者) 在 2005 年实现的 libtask,libtask 实现了协程编程的基本原型,lib_fiber 一方面使协程编程接口更加简单易用(用户可以直接调用 acl_fiber_create 创建协程),另一方面 lib_fiber 实现了线程安全的协程库,通过给每个线程一个独立的协程调度器,从而方便用户使用多核,此外,lib_fiber 还增加了基于协程的信号量、协程局部变量等功能。
|
||||
本网络协程库的异步 IO 事件部分基于 redis 中的 event 模块改造而来,增加了延迟删除、句柄缓存等功能。
|
||||
|
||||
**示例一**
|
||||
###**示例一**
|
||||
下面是一个简单使用网络协程库编写的一个**简单的高并发服务器**:
|
||||
```c++
|
||||
#include <stdio.h>
|
||||
@ -217,7 +217,7 @@ int main(int argc, char *argv[])
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
**示例二**
|
||||
###**示例二**
|
||||
上面的例子中因为使用了系统原生的网络 API,所以感觉代码有些臃肿,下面的例子使用 acl 库中提供的网络 API,显得更为简单些:
|
||||
```c++
|
||||
#include "stdafx.h"
|
||||
@ -331,7 +331,7 @@ int main(int argc, char *argv[])
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
**示例三**
|
||||
###**示例三**
|
||||
如果使用C++11的特性,则示例二会更为简单,如下:
|
||||
```c++
|
||||
#include "stdafx.h"
|
||||
@ -419,7 +419,7 @@ int main(int argc, char *argv[])
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
参考:
|
||||
###**参考**
|
||||
|
||||
- 网络协程编程:http://zsxxsz.iteye.com/blog/2312043
|
||||
- 用协程编写高并发网络服务:http://zsxxsz.iteye.com/blog/2309654
|
||||
|
Loading…
Reference in New Issue
Block a user