开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 14108|回复: 15
收起左侧

[C#视频教程] C#实战交友网站图片采集器附源码

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

课程讲解 知识点 多线程控制线程数量/委托/队列/文件操作
易语言的方法 学习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/57XyBE9演示效果
bbb.gif




评分

参与人数 2好评 +1 精币 +30 收起 理由
赵六 + 1 + 20 感谢分享,很给力!~
宇智波·佐助 + 10 以后打个压缩包再上传,方便一些。

查看全部评分

结帖率:0% (0/1)
发表于 2019-4-24 11:12:25 | 显示全部楼层   河南省鹤壁市
下载到哪里了啊 找不到下载好的去哪里了
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)
发表于 2019-4-22 22:57:01 | 显示全部楼层   广西壮族自治区贺州市
id 哪里有重复的
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)
发表于 2019-4-22 16:19:06 | 显示全部楼层   江苏省南通市
有来看看  大佬的   开源作品GET新技能
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)

签到天数: 28 天

发表于 2019-4-22 07:24:23 | 显示全部楼层   河南省郑州市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2019-4-19 15:29:28 | 显示全部楼层   广东省深圳市
6666666666666666666666
回复 支持 反对

使用道具 举报

结帖率:25% (1/4)

签到天数: 25 天

发表于 2019-4-14 10:33:07 | 显示全部楼层   四川省泸州市
#在这里快速回复#主程序必须等待线程执行完毕后才可退出程序
回复 支持 反对

使用道具 举报

发表于 2019-4-14 07:37:46 | 显示全部楼层   陕西省西安市
6666666666666666
回复 支持 反对

使用道具 举报

结帖率:50% (9/18)
发表于 2019-4-13 19:15:12 | 显示全部楼层   湖南省长沙市
我需要金币哦
回复 支持 反对

使用道具 举报

结帖率:100% (6/6)

签到天数: 4 天

发表于 2019-4-13 01:29:23 | 显示全部楼层   湖南省长沙市
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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