马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 yeah5230 于 2014-9-24 12:15 编辑
【梦飞飞教学方法】:QQ:446468195 1.星期一至星期五(21:30-23:30)QQ群语音交流,针对学习过程中出现的问题加以辅导。 2.课程+视频+资料,一对一辅导。 3.终生制学习,无论那一届学员,所有课程、视频、资料、均可终生免费享受。 4.千人QQ交流群,群内提供各项资源和活动发布,享受学习的乐趣。 5.对于会员提出的要求针对性制作各类视频教程,让你学习无忧。 |
第四节 多线程
多线程功能介绍
一.进程与线程
进程:
进程是操作系统结构的基础,是一个正在执行的程序,是一个当前状态和一组相关的系统资源所描述的活动单元。 线程: 线程是" 进程"中某个单一顺序的 控制流。 是比进程更小的执行单位,它是在一个进程中独立的控制流,即程序内部的控制流。
线程特点: (1)线程不能独立运行,必须依赖于进程,在进程中运行。 (2)每个程序至少有一个线程称为主线程。 (3)线程的执行方式是并发执行 单线程:只有一条线程的进程称为单线程 多线程:有一条以上的线程的进程称为多线程
二、多线程的优点和缺点
优点:
1.通过使用多线程可以提高界面的响应速度,使用线程可以把占据时间长的程序中的任务放到后台去处理。 2.充分利用系统资源,提高效率。通过在一个程序内部同时执行多个流程,可以充分利用CPU等系统资源,从而最大限度的发挥硬件的性能。 缺点: 1.如果有大量的线程,会影响性能,因为 操作系统需要在它们之间切换。 2.更多的线程需要更多的 内存空间。(功能函数 在执行的时候 是共享一份代码,而线程的执行方式是复制一份代码去执行) 3.线程可能会给 程序带来更多“bug”,因此要小心使用。
三、启动线程(beginthread) 启动线程必须要以一个功能函数为载体,通过启动线程命令 线程.启动()使指定的子程序在线程中运行。 启动线程命令中英文对照
中文 | 英文 | 线程句柄=线程.开启("","") | thread.beginthread("","") | 线程句柄=线程.扩展开启("","","","") | thread.beginthreadex("","","","") |
参数: 开启功能: 要开启的线程函数 开启功能参数: 线程开启时传入被调用函数的参数,如果不需要参数,可填空字符串 结束功能: 在线程结束时调用的函数(线程只能在正常关闭或结束情况下才会调用该函数) 结束功能参数: 线程关闭时传入被调用函数的参数,如果不需要参数,可填空字符串
我们启动多线程一般有两种情况
情况一.每个线程执行不同的任务。
1.流程图说明 2.详细举例 情况二.多线程执行同一个任务
1.流程图说明 A线程 访问公共变量c B线程 访问公共变量c 注意:当两个线程执行相同操作时,由于访问相同资源 这里我们通过临界区,来解决两个同时运行的线程抢操作问题。
暂停线程(suspendthread) 如果在脚本中想暂停某个线程后再继续执行它,就可以使用 线程.暂停(线程句柄) 来暂停线程,使用 线程.恢复(线程句柄)
来继续执行线程。
停止线程(closethread) 线程停止有两种方式:一种是自然停止,另一种是被动停止。自然停止就是线程执行完任务之后自动停止了。被动停止我们是使用TC的命令
线程.关闭(线程句柄)
回复观看超清视频教程........
|