课程简介:
还在为多线程的不稳定/易崩溃担忧吗?主讲老师长期耕耘在易语言 开发一线,多年的实战开发,形成了对多线程独到的见解。本教程将以通俗、易懂、简约的方式,只使用易语言官方的【多线程支持库】,让你快速掌握多线程编程方法解决多线程易崩溃的问题。多线程,其实so easy!
凡是你所编写的程序中涉及到批量操作,必须会用到多线程,多线程程序的处理速度比单线程优越百倍甚至千倍,如果你没有掌握好多线程,会在竞争对手面前一败涂地
前言
培训周期
培训费用
教学模式
3周左右 1200 (限25人,人满即止)
视频教程 + YY语音交流答疑辅导 + 培训QQ群指导
课程案例
初拟课程大纲 (有可能会再进行增改)
第一节 教学目标阐述、基础概念讲解
1、本套课程的教学目标
能编写稳定的多线程程序
2、教程中涉及的实例
● 多线程查询电信手机号码余额
● 多线程QQ号码查询微博账号
● 多论坛、多帐号、多任务顶帖
● 多线程进度下载及断点续传
● 多线程登录QQ查询DNF是否被限制
3、什么是多线程
在一个程序中,一些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。
多线程处理最重要的环节是对共享资源的控制
4、堆内存、栈内存
这里的堆和栈,不是指的数据结构
在一个进程的线程共享堆区,而进程中的线程各自维持自己堆栈。
5、同一进程的线程共享的资源和独有的资源
线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、
①.线程ID
每个线程都有自己的线程ID,这个ID在本进程中是唯一的。进程用此来标
识线程。
②.寄存器组的值
由于线程间是并发运行的,每个线程有自己不同的运行线索,当从一个线
程切换到另一个线程上时,必须将原有的线程的寄存器集合的状态保存,以便
将来该线程在被重新切换到时能得以恢复。
③.线程的堆栈
堆栈是保证线程独立运行所必须的。
线程函数可以调用函数,而被调用函数中又是可以层层嵌套的,所以线程
必须拥有自己的函数堆栈,使得函数调用可以正常执行,不受其他线程的影
响。
第二节 多线程支持库命令(1)
1、启动线程
MSDN原文:
“The number of threads a process can create is limited by the available virtual memory.
By default, every thread has one megabyte of stack space. Therefore, you can create
at most 2,048 threads. If you reduce the default stack size, you can create more threads.
However, your application will have better performance if you create one thread per processor
and build queues of requests for which the application maintains the context information.
A thread would process all requests in a queue before processing requests in the next queue.”
2、等待线程
3、强制关闭线程
4、关闭线程句柄
第三节 多线程支持库命令(2)
1、创建进入许可证
2、删除进入许可证
3、进入许可区
4、退出许可区
第四节 从设计一个简单的多线程程序开始 电信话费查询
1、电信查询类的封装
2、程序思路梳理
3、查询单条信息实现
4、多线程实现
第五节 线程的控制
1、主线程与子线程
2、线程的暂停、结束
线程_挂起 线程_恢复
3、线程数量控制
4、尽量不要强制结束线程
第六节 多线程QQ查询微博账号 (巩固简单多线程的编写)
1、过程梳理
2、多线程实现
3、流程控制
4、线程运行中统计数量
第七节 共享资源和私有资源
1、多个线程对共享资源进行写操作,必须加许可
2、多个线程对共享资源进行读操作,而没有写操作,则无需加许可
3、多个线程对共享资源同时有读写操作,写的时候必须加许可,读的时候,视情况而定加许可
4、对于线程而言,什么是共享资源,什么是私有资源
5、超级列表框置标题是否需要加许可
第八节 一个程序中同时运行多条不同代码块的线程 -- 多论坛多任务顶帖工具
1、尝试不使用多线程来实现
2、多线程实现思路梳理
3、多线程实现
第九节 动态创建、管理线程 - 多论坛多任务顶帖工具(2)
1、利用数组来动态管理线程
第十节 多线程进度下载及断点续传(1)
1、 实现过程
1、获得网络文件的大小
2、根据线程数来计算每线程需要下载的大小
3、多线程同时下载
4、因为要断点续传,而且是关闭软件重开后还能续传
5、实时保存下载的内容到硬盘
-------------------------------------------------
6、等待所有线程下载完毕
6.1、 如果没有下载完毕
6.2 下次启动软件读取保存的数据
6.3 创建线程,续传
7、把每块文件(字节集)进行合并
2、RANGE协议头
http.SetRequestHeader (“RANGE”, “bytes=64370000-64379240”)
0为起始位置
3、单线程分段下载并合并
第十一节 多线程进度下载及断点续传(2)
下载类方法的实现
1、获得网络文件的大小
2、根据线程数来计算每线程需要下载的大小
3、进度的实现
4、计算总体下载速度
5、如何实现实时保存
6、下载子程序编写
传参
第十二节 多线程进度下载及断点续传(3)
1、多线程下载实现
2、实现进度、下载速度显示
3、续传
第十三节 多线程批量登录QQ (1)
1、QQ类方法简介
2、实现思路梳理
3、手动打码 - 预读验证码
验证码于QQ的对应
第十四节 多线程批量登录QQ (1)
1、验证码错误重新读取验证码
2、打码平台实现
3、多线程中的拨号处理
第十五节多线程闪退、崩溃原因总结及解决方法
为保证学习质量,学习班每期名额有限,人满即止。
报名咨询企业QQ8 00073686
咨询电话:0663-3400082
评分
查看全部评分