开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 71589|回复: 43
收起左侧

[C#图文教程] c#从0开始写采集软件 第五弹弹 多线程采集控制线程数量 完结篇

[复制链接]
发表于 2019-4-1 09:08:06 | 显示全部楼层 |阅读模式   广东省揭阳市
上一节我们讲了 单线程 采集 这一节我们来把他改成多线程

图片1.png

我们在网站里面看到 总页数 有9360页 如果一次启动太多线程 这肯定不行 所以我们还得控制线程数量
这里面我们用信号量 来控制

添加一个信号量 跟主线程 信号量 用来控制线程数 主线程 用来控制 暂停 继续运行线程
图片2.png
开始采集 按钮事件下 添加如下代码

图片3.png

如果对多线程不熟悉的 请关注我的 下一系列 c#多线程篇 这里 不做过多叙述

最后我们还要 改一下 子线程里的代码
图片4.png

由于 Thread 里面 只能接收一个 object 参数 所以 我们得把 page 改成object
最后 转回成 int

线程运行完后 我们得释放 信号量
图片5.png
最后 我们 在暂停按钮事件里加上 控制线程的代码
图片6.png
至此 我们的简易多线程采集软件 就完成了! 最后完成效果
ee.gif

完整源码下载
MainForm.zip (323.03 KB, 下载次数: 266)

评分

参与人数 1好评 +1 精币 +2 收起 理由
zyx521147 + 1 + 2 新技能已get√

查看全部评分

结帖率:60% (3/5)

签到天数: 7 天

发表于 2024-1-16 16:55:52 | 显示全部楼层   广东省深圳市
还能用吗
回复 支持 反对

使用道具 举报

结帖率:89% (8/9)

签到天数: 12 天

发表于 2023-11-19 06:37:36 | 显示全部楼层   云南省临沧市
大佬带我飞
回复 支持 反对

使用道具 举报

发表于 2023-9-5 09:31:24 | 显示全部楼层   湖南省长沙市
新技能已get√
回复 支持 反对

使用道具 举报

发表于 2023-6-20 22:08:52 | 显示全部楼层   安徽省*
这样也会卡界面呀,按照教程就是多的时候界面就卡死了.
回复 支持 反对

使用道具 举报

签到天数: 4 天

发表于 2023-1-12 09:49:29 | 显示全部楼层   广东省湛江市
新技能已get√
回复 支持 反对

使用道具 举报

结帖率:91% (10/11)
发表于 2022-9-1 17:56:39 | 显示全部楼层   安徽省芜湖市
一直在头疼C#多线程的问题
回复 支持 反对

使用道具 举报

结帖率:64% (28/44)

签到天数: 1 天

发表于 2022-8-12 08:45:09 | 显示全部楼层   安徽省宣城市
        新技能已get√
回复 支持 反对

使用道具 举报

结帖率:64% (28/44)

签到天数: 1 天

发表于 2022-8-12 08:44:57 | 显示全部楼层   安徽省宣城市
        新技能已get√
回复 支持 反对

使用道具 举报

结帖率:64% (28/44)

签到天数: 1 天

发表于 2022-8-11 23:23:46 | 显示全部楼层   安徽省宣城市
6666666666AA
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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