开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: 薆要执著
收起左侧

[易语言成品模块] 易语言高性能协程池任务库

[复制链接]
结帖率:83% (39/47)
发表于 2020-2-1 17:39:10 | 显示全部楼层   福建省宁德市
大兄弟,我完成了第一个版本~感谢你这个帖子里面说的Hook 这个方案,我豁然开朗
不然的话这个协程类可能我还是一直“在每个代码行之间添加调度代码”的思路里面循环呢


1.png

回复 支持 反对

使用道具 举报

结帖率:100% (8/8)
 楼主| 发表于 2020-1-29 17:27:59 | 显示全部楼层   重庆市重庆市
凌哥 发表于 2020-1-29 17:11
我也打算封装一个协程库的,你这个Hook点醒了我
之前一直在想怎样调度比较好,总不可能每一行代码添加一 ...

语言级别的协程易语言又做不到
只有使用HOOK掉IO函数了 HOOK会牺牲些自由性 但是是没有办法的办法
回复 支持 反对

使用道具 举报

结帖率:83% (39/47)

签到天数: 23 天

发表于 2020-1-29 17:11:36 | 显示全部楼层   福建省宁德市
薆要执著 发表于 2020-1-21 13:55
sleep只是模拟io操作的等待
协程最终目的是所有系统的io等待都hook
在等待io的时候也能执行其他任务
...

我也打算封装一个协程库的,你这个Hook点醒了我
之前一直在想怎样调度比较好,总不可能每一行代码添加一句调度代码~
现在思路清晰了
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2020-1-22 23:49:08 | 显示全部楼层   河南省郑州市
真心不错  下了看看可以用不
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2020-1-22 17:43:17 | 显示全部楼层   山西省太原市
这个作品不错,都是高手啊!
回复 支持 反对

使用道具 举报

结帖率:100% (8/8)
发表于 2020-1-21 23:44:54 | 显示全部楼层   江西省鹰潭市
赞一楼!o( ̄▽ ̄)d
回复 支持 反对

使用道具 举报

结帖率:100% (8/8)
 楼主| 发表于 2020-1-21 13:55:25 | 显示全部楼层   重庆市重庆市
gowy111 发表于 2020-1-20 14:28
sleep主要是让爬虫停会...怕被封(哈哈哈哈哈啊哈啊哈哈)

sleep只是模拟io操作的等待
协程最终目的是所有系统的io等待都hook
在等待io的时候也能执行其他任务
回复 支持 反对

使用道具 举报

结帖率:20% (16/80)
发表于 2020-1-20 14:30:20 | 显示全部楼层   江苏省南京市
大佬,干脆顺便搞个进程库吧....从此易语言碉堡!
回复 支持 反对

使用道具 举报

结帖率:20% (16/80)
发表于 2020-1-20 14:28:12 | 显示全部楼层   江苏省南京市
sleep主要是让爬虫停会...怕被封(哈哈哈哈哈啊哈啊哈哈)
回复 支持 反对

使用道具 举报

结帖率:100% (8/8)
 楼主| 发表于 2020-1-19 19:05:06 | 显示全部楼层   菲律宾
过年最后一版


HOOK以下函数
        ioctlsocket                                                                        
        WSAIoctl                                                                           
        select                                                                             
        connect                                                                           
        WSAConnect                                                                        
        accept                                                                             
        WSAAccept                                                                          
        WSARecv                                                                           
        recv                                                                              
        recvfrom                                                                           
        WSARecvFrom                                                                        
        WSARecvMsg                                                                        
        WSASend                                                                           
        send                                                                              
        sendto                                                                             
        WSASendTo                                                                          
        WSASendMsg

        Sleep
在任务中 调用到hook的函数 可能会
让出当前执行CPU 去执行其他任务 当任务空闲或者有调度机会的时候 会自动恢复执行
在此向大家收集一下Windows 有关IO的操作函数可以跟帖告知 以便hook处理
付上文件,自旋锁 同步事件 信号量已经封装完成了  但是暂时没有写调用例子 可以查看DLL输出函数自行测试
Debug.rar (644.09 KB, 下载次数: 7)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表