libcsp: 一个 10 倍于 Golang 的高性能 C 语言并发库
libcsp是一个C语言实现的基于CSP模型的高性能并发库, 利用它你可以用C开发一些高性能项目.
特性:
- 支持多核
- 高性能调度器
- 编译时栈大小静态分析
- 高性能 Lock-free 通道
- 支持 netpoll 和 timer
Golang和Libcsp比较
// Golang // Libcsp go foo(arg1, arg2, arg3) async(foo(arg1, arg2, arg3)); var wg sync.WaitGroup sync(foo(); bar()); wg.Add(2) go func() { defer wg.Done(); foo(); }() go func() { defer wg.Done(); bar(); }() wg.Wait() runtime.Gosched() yield(); chn := make(chan int, 1 << 6) chan_t(int) *chn = chan_new(int)(6); num = <-chn chan_pop(chn, &num); chn <- num chan_push(chn, num); timer := time.AfterFunc(time.Second, foo) timer_t timer = timer_after(timer_second, foo()); timer.Stop() timer_cancel(timer);
Github: https://github.com/shiyanhui/libcsp
文档: https://libcsp.com
原文地址:https://segmentfault.com/a/1190000022319857
相关推荐
-
如何让类对象只在栈(堆)上分配空间? c/c++
2019-3-28
-
浅析缓冲区溢出 c/c++
2019-3-29
-
通过OSG实现对模型的日照模拟 c/c++
2019-9-15
-
c++11新特性之std::function和lambda表达式 c/c++
2020-6-15
-
使用cjieba(结巴分词库)实现php扩展中文分词-支持php5, php7 c/c++
2019-3-30
-
一个优雅的程序猿教你认识C语言编译器 c/c++
2019-3-30
-
C语言-桶排序 c/c++
2019-3-30
-
一个简单的猜拳小游戏(C语言实现) c/c++
2019-3-30
-
传参时,使用引用替换变量 c/c++
2019-9-2
-
c++ namespace c/c++
2019-3-30