开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 19097|回复: 183
收起左侧

[原创视频分享] E转C#实战交友网站图片采集器

[复制链接]
结帖率:100% (2/2)
发表于 2019-4-9 10:01:20 | 显示全部楼层 |阅读模式   广东省揭阳市
本帖最后由 宇智波·佐助 于 2019-4-9 15:23 编辑

课程讲解 知识点 多线程控制线程数量/委托/队列/文件操作
易语言的方法 学习c# 除了关键字 不一样 其它基本上 是差不多的我们用一个实战批量采集图片来讲解

1.调用http类库 访问网页
2.扩展类库 封装我们常用的类库(类似易语言里的模块)
3.调试网页完成功能
4.调用json解析文本
5.布局界面
6.多线程采集信息
7.控制线程数量
8.数据结构之队列
9.优化多线程

Vs 2017 安装教程
https://bbs.125.la/forum.php?mod=viewthread&tid=14339179&highlight=vs

2.基本流程图

s.png

为什么要用队列 我们主线程获取一些文本信息 用来展示 如果子线程里 一次下载过多图片 肯定会卡 我们把图片下载线程 独立出来 不影响 信息的显示

队列:什么是队列?又该怎么理解呢?

①队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。


c# Thread、ThreadPool、Task

这三者都是为了处理耗时任务,都是异步的;
先说 Thread与ThreadPoll
前台线程:主程序必须等待线程执行完毕后才可退出程序。Thread默认为前台线程,也可以设置为后台线程
后台线程:主程序执行完毕后就退出,不管线程是否执行完毕。ThreadPool默认为后台线程
线程消耗:开启一个新线程,线程不做任何操作,都要消耗1M左右的内存
ThreadPoll是线程池 其目的是为了减少开启新线程消耗的资源(使用线程池中的空闲线程,不必在开启新线程,以及统一管理线程(线程池中的线程执行完毕后,回归到线程池里,等待新任务).
总结:ThreadPoll性能优于Thread,但是Thread和ThreadPoll对线程的控制都不是很好,例如线程等待(线程执行一段时间无响应后,直接停止线程,释放资源 等 都没有直接的API来控制 只能通过硬编码来实现,同时ThreadPool使用的是线程池全局队列,全局队列中的线程依旧会存在竞争共享资源的情况,从而影响性能。
然后task
Task的背后的实现也是使用了线程池线程,但它的性能优于ThreadPoll,因为它使用的不是线程池的全局队列,而是使用的本地队列,使线程之间的资源竞争减少。同时Task提供了丰富的API来管理线程、控制。但是相对前面的两种耗内存,Task依赖于CPU对于多核的CPU性能远超前两者,单核的CPU三者的性能没什么差别。

教程下载 附源码
https://share.weiyun.com/5K0yEUA演示效果
bbb.gif




评分

参与人数 11好评 +8 精币 +58 收起 理由
985778474 + 1 + 2 支持开源~!感谢分享
戲子Ⅹ唱無情 + 1 感谢分享,很给力!~
小宝贝233 + 1 + 2 支持开源~!感谢分享
赵六 + 1 + 20 感谢分享,很给力!~
精易客服 + 1 + 5 感谢发布原创作品,精易因你更精彩!
中寒 + 1 支持开源~!感谢分享
伤月寒风 + 1 支持开源~!感谢分享
yyqingying + 1 + 1 支持开源~!感谢分享
阿杰大大 + 1 + 3 我有好几块硬盘,也有好几个站点,一起爬VAmu喽。
小生帝王 + 1 + 2 新技能已get√
冰点 + 1 + 20 感谢发布原创作品,精易因你更精彩!

查看全部评分


本帖被以下淘专辑推荐:

结帖率:100% (1/1)

签到天数: 6 天

发表于 2023-11-1 16:41:46 | 显示全部楼层   广西壮族自治区钦州市
        支持开源~!感谢分享
回复 支持 反对

使用道具 举报

发表于 2022-7-16 14:17:16 | 显示全部楼层   广东省广州市
感谢分享。,学习了,支持
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 4 天

发表于 2020-10-25 01:14:26 | 显示全部楼层   四川省泸州市
学习,学习一下
回复 支持 反对

使用道具 举报

发表于 2020-8-11 16:11:32 | 显示全部楼层   广东省广州市
非常好用,大佬牛逼得很!!!
回复 支持 反对

使用道具 举报

结帖率:96% (87/91)

签到天数: 21 天

发表于 2020-3-31 00:17:50 | 显示全部楼层   湖北省十堰市
不错,互相学习吧
回复 支持 反对

使用道具 举报

结帖率:96% (174/181)

签到天数: 25 天

发表于 2020-3-30 16:42:37 | 显示全部楼层   安徽省芜湖市
楼主你感觉易语言转c#是否很顺利 没有啥需要多学的吧
回复 支持 反对

使用道具 举报

发表于 2020-3-24 11:00:41 | 显示全部楼层   广东省广州市
回复 支持 反对

使用道具 举报

发表于 2020-3-19 12:22:08 | 显示全部楼层   江西省鹰潭市
谢谢分享, 学习学习
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2019-9-5 18:20:40 | 显示全部楼层   河北省保定市
构思精彩,场景宏大,气势如虹-
回复 支持 反对

使用道具 举报

结帖率:86% (12/14)
发表于 2019-7-23 18:08:11 | 显示全部楼层   四川省成都市
现在没有更新了呀,还是好想看看这个,因为现在易语言很多都是用来采集用的
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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