Tcp多线程消息与文件
2022-01-27 09:05:45 8KB tcp/ip 网络协议 网络
1
TCP客户端大多都是异步操作,发送数据后只能在回调里处理,而有一些特殊业务可能需要发送后同步返回。 部分模块或支持库也有同步返回,但只支持单线程单包返回,经常看到有人在问这方面的问题 所以吃完粽子后趁消化之余闲着没事就顺手写了个 多线程TCP发送数据同步接收 实现思路: 1:发送数据前取一个唯一标识,和创建一个事件,保存该事件ID和唯一标识放到数组里 2:把唯一标识写入到数据里一并发送到服务器,然后调用事件等待 3:服务器接收到数据后处理完相关命令ID,在发回给客户端的数据里带上客户端发来的唯一标识 4:客户端收到数据时取出 唯一标识,再到数组里通过唯一标识取出 事件ID,再把数据放到数组里,触发事件ID,另外线程那边发送的就能收到通知了。 5:在发送线程收到事件触发后,根据唯一标识在数组里取出服务器返回的数据,再释放事件ID和删除相关缓存数据 这样就完成了发送数据后同步接收过程 TCP套件用的是 客户端/服务器组件 代码包含了 组包/拆包 该思路方法通用于所有TCP模块或支持库,如有需要请自行移植! 代码写得有点粗糙,有问题欢迎指正,不喜勿喷!
这个库本来封装在官方库里,但我多一个功能,就是线程池 (对的,线程池封装进核心库了,为了更稳,更高效) 有一点要说的是,这个多线程插入,不是很快(1秒1万条左右的速度),但肯定比正常的要爽 正常的插入10万就卡死了,但我这个插入几千万,都井然有序,不漏也不卡 纯源码,调用了精易模块。有需要的请自行封装,其实本身就是模块,编译即可。
非常不好意思,先前上传过一个旧的创建多个Timer的例子,因为当时脑子短路,代码写得跟小学生差不多,于是现在重新写了一个稍微好一点点的。先把原先上传的那个删除才发现分太低删除不了。希望这新版的代码可以帮助有这方面需求的码友。
2022-01-25 19:43:44 24KB C# Timer 多线程
1
调用了精易模块!自己下载精易模块! 注意!老电脑一定要不要勾选不延迟! 本程序用于测试计算CPU在多线程下同时计算对CPU产生的压力! 没有做防护!如果需要做防炸机在第二个时钟下写代码! 本程序原理十分简单!一看就懂!
2022-01-25 13:02:50 245KB 多线程CPU压力测试工具易语言源
Qt案例之利用QThread类实现简单多线程案例循环打印数字,可参考文章:https://blog.csdn.net/didi_ya/article/details/122661092
2022-01-24 14:12:58 5KB qt 开发语言 c++ 多线程
1
易语言dy用户全部视频解析源码 多线程缓存
2022-01-24 14:07:47 3.98MB 缓存 音视频
【工控老马出品,必属精品,亲测校正,质量保证】 资源名:vb 实现ACTIVE EXE 多线程程序源码 资源类型:程序源代码 源码说明: 单元线程模型实现多线程 简单的测试工程,记得编译后测试. 运行时可以打开任务管理器,调出"线程数"项看看线程情况. 适合人群:新手及有一定经验的开发人员
2022-01-24 10:02:55 68KB vb ACTIVEEXE 多线程 程序源码
其实起因还是我发现精易模块的网页_访问() 只能使用Http(s)的代理 但是WinInet是支持socks4(5)代理访问的啊 于是我自己打开了模块源码,开始修改 其实真的非常简单,就一句话, 想不通当初经精易模块写代理的时候为什么不加进去 为了验证我提交反馈的可用性,而且网上的那些代理基本不支持socks4(5) 于是我亲手写了一个多线程代理批量检测,顺便开个源,供给大家一起测试 为了方便我写的是控制台程序,也可以作为控制台的一个例子。 ' 我在源码里写了非常多的注释,大家应该都能看得懂我的源码 调用了精易模块(自己修改),鱼刺类_多线程应用v5.4模块,以及我自己随手写的一个控制台操作模块 我已经打包好放这里了,修改的源码也在上面的链接里。 软件用法:把你需要检测的代理IP放进同目录下,并改名为代理IP.txt ,根据你的代理类型选择检测模式即可 另外,貌似有很多命令不支持windows11系统,比如精易模块的PID取文件路径,还有鱼刺多线程在win11下运行效率极慢
自己为了看小说写的采集软件,支持多线程。只用了精易模块,多线程是自己构思的,能用也算是不错。默认采集的放桌面上,为了方便复制,嘿嘿。发现有可以改进的,大家一起讨论,嘻嘻
2022-01-21 09:10:13 289KB 易语言源码多线程小说采集