tearshark
|
fb1d8d39e5
|
mutex_v2增加超时等待功能
修改无死锁锁定多个锁的算法,以便于支持mutex_v2
|
2020-03-20 01:04:52 +08:00 |
|
tearshark
|
18ff251233
|
增加yield()支持
可以获得调用链的跟节点
切换协程方法的修改
mutex_t增加try_lock()实现
|
2020-03-19 17:46:10 +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
|
a31da60a94
|
clang的一个bug导致when_all/any代码可能编译失败。
不得已更换切换调度器的写法。
|
2020-03-15 22:20:21 +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
|
2d0a597b85
|
整理类型萃取代码
when_all/when_any接受functor。functor必须得返回一个awaitor
|
2020-03-12 23:03:04 +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
|
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
|
a14fd0d640
|
channel为多线程优化提供手段
|
2020-03-09 16:45:04 +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
|
837a2827ba
|
将异常和返回值做成union以减小state的大小。
支持返回引用。
|
2020-03-02 23:39:09 +08:00 |
|
tearshark
|
fee671711d
|
减少state加锁的次数
增加future对yield的测试
|
2020-03-02 14:50:01 +08:00 |
|
tearshark
|
4061c32f3f
|
clang通过除asio外的所有测试
|
2020-03-01 13:17:04 +08:00 |
|
tearshark
|
0739e99ab2
|
全面兼容clang编译器,并通过大部分测试范例
|
2020-03-01 12:13:41 +08:00 |
|
tearshark
|
3ba9a56cae
|
优化一点内存占用空间和性能
更好的兼容clang
版本升级到2.2.1
|
2020-02-29 01:11:21 +08:00 |
|
tearshark
|
9ae5ee31f3
|
完善切换调度器的功能
|
2020-02-27 14:45:55 +08:00 |
|
tearshark
|
f19966d85e
|
增加切换调度器的功能
版本号升级到2.2.0
|
2020-02-27 14:05:45 +08:00 |
|
tearshark
|
469d583cad
|
多线程里使用channel测试通关
|
2020-02-21 09:36:59 +08:00 |
|
tearshark
|
a5b28cd778
|
完整编译x64+x86
|
2020-02-19 17:01:55 +08:00 |
|
tearshark
|
3badb4e13f
|
增加测试内存布局的范例
|
2020-02-19 16:05:19 +08:00 |
|
tearshark
|
d1de24135f
|
generator_t的state也跟promise分配在一起。
|
2020-02-18 14:48:51 +08:00 |
|
tearshark
|
9dcb2d8baf
|
将state和协程所用的内存分配到一起。
处理好协程的析构
|
2020-02-18 13:15:16 +08:00 |
|
tearshark
|
a61c9b2c64
|
优化state的内存布局和大小
|
2020-02-18 11:42:42 +08:00 |
|
tearshark
|
421e884680
|
优化state占用的内存
|
2020-02-18 11:32:20 +08:00 |
|
tearshark
|
a9b2f7279e
|
兼容clang 8.0版本
|
2020-02-16 15:06:09 +08:00 |
|
tearshark
|
65709ca487
|
完成sleep结合event的范例测试
|
2020-02-16 13:02:26 +08:00 |
|
tearshark
|
39cd2f5dcf
|
awaitable_t兼容老的future用法
完成相关范例
|
2020-02-16 12:14:25 +08:00 |
|
tearshark
|
2bd318d052
|
future支持yield语法,并完成相关范例
|
2020-02-16 12:03:51 +08:00 |
|
tearshark
|
8d580dcda4
|
支持generator,完成相关范例
|
2020-02-16 11:33:19 +08:00 |
|
tearshark
|
7289258a75
|
准备支持调度generator
|
2020-02-16 10:27:00 +08:00 |
|
tearshark
|
aa96b843dd
|
完成新版本下协程frame pointer的测试
|
2020-02-16 01:43:56 +08:00 |
|
tearshark
|
76811ba691
|
恢复新版本下的sleep功能
完善新版本下的部分测试用例
|
2020-02-16 01:18:25 +08:00 |
|
tearshark
|
3f64156e82
|
改版后第一次正常跑完回调测试
|
2020-02-16 00:47:45 +08:00 |
|
tearshark
|
3575506740
|
将state的操作封装在其内部,以便于检查是否加锁而从保证了线程安全
|
2020-02-15 17:53:11 +08:00 |
|
tearshark
|
1508d08027
|
使用新的state/promise/future和调度器,以便于完成调度链传递
|
2020-02-15 15:20:16 +08:00 |
|
tearshark
|
256dbb8584
|
深入理解协程的初始化过程
|
2020-02-15 13:32:14 +08:00 |
|
tearshark
|
c4e3c989bb
|
使用 remove_cvref 替换 decay
|
2020-02-08 21:22:39 +08:00 |
|
tearshark
|
1a0817bd02
|
兼容 asio 1.14.1版本
兼容 VS2019 version 16.5.0 preview 2.0
|
2020-02-08 21:05:44 +08:00 |
|
tearshark
|
6c659d57e2
|
改善协程切换测试代码
|
2019-10-09 10:08:31 +08:00 |
|
tearshark
|
563abf8aa3
|
增加一些注释
|
2019-10-09 09:43:10 +08:00 |
|
tearshark
|
38ebb41e03
|
Modern Callback增加演示多返回值,返回异常的范例
|
2019-04-25 17:56:51 +08:00 |
|
tearshark
|
507f0d885b
|
Modern Callback增加演示多返回值,返回异常的范例
|
2019-04-25 17:48:42 +08:00 |
|
tearshark
|
06bd2d5647
|
Modern Callback增加演示多返回值,返回异常的范例
|
2019-04-25 17:26:16 +08:00 |
|
tearshark
|
04d1d2ea1f
|
优化Modern Callback范例,使得modern_callback_adapter_t更加通用并简化使用
|
2019-04-25 16:07:37 +08:00 |
|
tearshark
|
5316643d0d
|
增加modern callback范例代码
|
2019-04-21 09:05:04 +08:00 |
|
tearshark
|
ec11d549ef
|
boost::any作为可选,用来替换std::any
进一步减少使用C++17的语法
|
2018-09-18 14:04:40 +08:00 |
|
tearshark
|
48532d71fb
|
尽量兼容VS2015
|
2018-09-18 13:43:50 +08:00 |
|
tearshark
|
fc2d08af7c
|
深入ASIO的pingpong测试
根据VS的静态分析改善代码
|
2018-08-26 23:46:02 +08:00 |
|
tearshark
|
7ed4d830b3
|
添加一个基于ASIO的pingpong性能评测
|
2018-08-26 19:06:07 +08:00 |
|
tearshark
|
34d0cb55aa
|
改进移动构造函数
增加sleep_for更简便的写法
|
2018-08-26 09:00:05 +08:00 |
|
tearshark
|
df90f6ee80
|
在实际项目中的一些改进
|
2018-08-17 22:36:15 +08:00 |
|
tearshark
|
b1c9962756
|
协程sleep的重新思考和整理
|
2018-08-10 06:02:01 +08:00 |
|
tearshark
|
3e81636db7
|
优化调度器所花费的时间
|
2018-08-08 21:01:25 +08:00 |
|
tearshark
|
2165e473d1
|
when_any的返回值修改为索引+std::any
|
2018-04-05 04:41:16 +08:00 |
|
tearshark
|
27b459284c
|
when_any支持检测返回值
|
2018-03-27 15:37:22 +08:00 |
|
tearshark
|
a3f73045c9
|
when_all返回所有等待的future的值
|
2018-03-27 12:02:37 +08:00 |
|
tearshark
|
630b38ca76
|
when_all/when_any支持迭代器区间
|
2018-03-27 09:36:36 +08:00 |
|
tearshark
|
803cc2e51e
|
支持when_all/when_any
|
2018-03-27 00:34:31 +08:00 |
|
tearshark
|
6c9f476658
|
整理多线程多调度器功能。
仍然没能正常调度
|
2017-12-14 10:50:45 +08:00 |
|
tearshark
|
9212bfcdf7
|
使用宏来开关是否支持多线程多调度器
|
2017-12-13 17:49:38 +08:00 |
|
tearshark
|
475482c99d
|
尝试解决多线程下的问题
|
2017-12-13 11:43:33 +08:00 |
|
tearshark
|
84fe5c4b1a
|
测试channel在多线程多协程调度下的表现
测试结果表明N:M模型的代码还存在BUG
|
2017-11-27 18:37:18 +08:00 |
|
tearshark
|
db03e525be
|
支持N:N模式的协程
|
2017-10-01 10:33:08 +08:00 |
|
tearshark
|
ef85658d00
|
寻找调用的promise地址的规律
|
2017-10-01 07:46:41 +08:00 |
|
tearshark
|
75e443cfc1
|
改进exception范例代码
|
2017-09-28 16:16:46 +08:00 |
|
tearshark
|
67a3e653ed
|
添加内存占用的测试代码
|
2017-09-24 14:36:36 +08:00 |
|
tearshark
|
ba792374ab
|
create repository
|
2017-09-24 14:01:30 +08:00 |
|