1
0
mirror of https://github.com/tearshark/librf.git synced 2024-10-02 00:00:11 +08:00
Commit Graph

238 Commits

Author SHA1 Message Date
tearshark
18ff251233 增加yield()支持
可以获得调用链的跟节点
切换协程方法的修改
mutex_t增加try_lock()实现
2020-03-19 17:46:10 +08:00
tearshark
d13ae66d87 完善concept定义 2020-03-18 23:28:19 +08:00
tearshark
d46925ab11 美化说明文档 2020-03-18 22:27:52 +08:00
tearshark
cc1367f39c 更新测试说明 2020-03-18 21:59:36 +08:00
tearshark
8af94ea0fc 完善mutex_v2代码 2020-03-18 21:46:55 +08:00
tearshark
946656e34e 实现mutex第二版 2020-03-18 18:36:39 +08:00
tearshark
ca0177e3bb 兼容clang 2020-03-17 23:40:39 +08:00
tearshark
d09152280c 完善event_v2的wait_all功能 2020-03-17 18:26:22 +08:00
tearshark
ba477e9252 完成event_v2的wait_any 2020-03-17 01:40:42 +08:00
tearshark
bac50e93cd 完善event_v2的concept约束 2020-03-16 18:12:57 +08:00
tearshark
3be26ee113 简化一些concept的写法。 2020-03-15 23:33:53 +08:00
tearshark
71d373ae82 解决_WhenTaskT定义不完整的问题 2020-03-15 23:22:16 +08:00
tearshark
a31da60a94 clang的一个bug导致when_all/any代码可能编译失败。
不得已更换切换调度器的写法。
2020-03-15 22:20:21 +08:00
tearshark
d3a9b85677 为event_v2支持wait_any做准备 2020-03-15 21:59:53 +08:00
tearshark
a15e8a6dde event_v2测试失败 2020-03-14 17:36:10 +08:00
tearshark
6c9110a3e4 解决vector<bool>导致的问题
启用event_v2版本代码
event_v2尽量兼容event_v1用法
2020-03-14 17:20:31 +08:00
tearshark
fb22854f30 完善concept的使用 2020-03-14 12:05:41 +08:00
tearshark
979d220df7 使用concept来完成when_all/when_any。 2020-03-14 11:04:13 +08:00
tearshark
254c13b21e 使用concept来描述部分接口 2020-03-14 01:52:43 +08:00
tearshark
622c0ea911 去除两处警告 2020-03-12 23:14:59 +08:00
tearshark
2d0a597b85 整理类型萃取代码
when_all/when_any接受functor。functor必须得返回一个awaitor
2020-03-12 23:03:04 +08:00
tearshark
0ac9fa1b26 萃取awaitor的特征 2020-03-12 20:01:10 +08:00
tearshark
9bedbba9b8 整理特性萃取代码 2020-03-12 17:52:23 +08:00
tearshark
aba74aaa19 重新实现when_all/when_any 2020-03-12 16:56:23 +08:00
tearshark
c863f50ff1 获得当前协程帮定的调度器 2020-03-11 22:30:42 +08:00
tearshark
ece8c19952 优化event 2020-03-11 17:14:58 +08:00
tearshark
5ea36e6cc0 timer提供线程安全的可能 2020-03-10 23:38:06 +08:00
tearshark
cd8f6adb7e 解决几处可能错误使用compare exchange weak的地方 2020-03-10 22:58:06 +08:00
tearshark
042e85f077 减少event的一个自旋锁 2020-03-10 22:51:44 +08:00
tearshark
1b344cc651 event支持超时 2020-03-10 22:34:50 +08:00
tearshark
a5459300b9 新版本的event实现 2020-03-10 21:31:05 +08:00
tearshark
1d2d17a2bb 提高协程切换测试4ns. 2020-03-09 18:13:10 +08:00
tearshark
da9c2fa75f 更新一些测试方案 2020-03-09 17:59:07 +08:00
tearshark
50841a1d2f 增加一种新的测试channel的方法 2020-03-09 17:36:36 +08:00
tearshark
7bea4a2255 有网友想使用自己的自旋锁 2020-03-09 16:48:52 +08:00
tearshark
a14fd0d640 channel为多线程优化提供手段 2020-03-09 16:45:04 +08:00
tearshark
c93e99bea7 修改channel的实现细节,便于阅读理解 2020-03-09 16:14:10 +08:00
tearshark
fca55ccee7 将channel的申明和实现分离,便于阅读 2020-03-09 15:50:08 +08:00
tearshark
d4a95348b2 优化channel的缓存数据的方式 2020-03-09 15:31:30 +08:00
tearshark
d854bd00f6 重写channel的实现方法 2020-03-09 14:23:35 +08:00
tearshark
ac11ce9f6f 优化channel实现,使用循环队列完成channel数据缓存 2020-03-09 08:17:52 +08:00
tearshark
f33d4c471a 企图实现一个更加简洁和lock-free的event。 2020-03-04 11:23:10 +08:00
tearshark
134224c123 优化一些代码细节 2020-03-03 10:47:50 +08:00
tearshark
52b8ea4a92 简化is_ready()判断 2020-03-02 23:53:58 +08:00
tearshark
837a2827ba 将异常和返回值做成union以减小state的大小。
支持返回引用。
2020-03-02 23:39:09 +08:00
tearshark
cdc7496613 开启代码静态分析,减少警告信息 2020-03-02 15:27:33 +08:00
tearshark
fee671711d 减少state加锁的次数
增加future对yield的测试
2020-03-02 14:50:01 +08:00
tearshark
30aaddfed3 提升版本号到2.3.2 2020-03-01 15:38:05 +08:00
tearshark
0e5ac70991 在state上使用自旋锁替换递归锁,以减少内存占用 2020-03-01 15:36:11 +08:00
tearshark
8de633c8b6 使用自旋锁替代递归锁 2020-03-01 15:16:35 +08:00