易语言多线程详解(2)

2020-06-23 12:20

1、先用“创建进入许可证”命令为一个线程进入一个指定的许可代码区建立一个许可证。

2、用“启动线程”命令创建并启动一条线程,以运行一个线程的子程序。

3、在一个线程子程序里用“进入许可区”使该线程占用一个许可代码区,并锁定该代码区不让其他线程进入,并锁定其他线程运行,以避免线程冲突。

4、使用“退出许可区”解锁该许可代码区,以便让其他线程进入。若想使多个线程同时运行,我们可以为每个线程建立一个进入许可证,进入许可区与退出许可区连着进行使多个线程同步运行。

5、当退出程序时,要删除进入许可证以释放系统资源。

(三)、下面的示例代码同时运行两个线程,一个是连续随机画圆,一个是连续随机画矩形:

窗口程序集:窗口程序集1

程序集变量:进入许可证1 数据类型:整数型 程序集变量:画圆判断 数据类型:逻辑型 程序集变量:画矩形判断 数据类型:逻辑型 程序集变量:进入许可证2 数据类型:整数型

══════════════════════════════

子程序:_按钮1_被单击

※ 备注:如果按钮1的标题为“停止画圆”时就开始画圆(画圆判断 = 假),否则如果按钮1的标题为“开始画圆”时就停止画圆(画圆判断 = 真)。

画圆判断 = 取反 (画圆判断) 判断 (画圆判断 = 真) 如果 (进入许可证1 ≠ 0)

如果真 (启动线程 (&画圆线程) = 真) 按钮1.标题 = “停止画圆” 如果真结束 否则

信息框 (“创建进入许可证 失败”, 0, ) 如果结束 默认

按钮1.标题 = “开始画圆” 判断结束

══════════════════════════════

子程序:画圆线程

判断循环首 (画圆判断 = 真) 置随机数种子 ()

画板1.刷子颜色 = 取颜色值 (取随机数 (0, 255), 取随机数 (0, 255), 取随机数 (0, 255))

画板1.画笔颜色 = 取颜色值 (取随机数 (0, 255), 取随机数 (0, 255), 取随机数 (0, 255))

画板1.画椭圆 (取随机数 (1, 画板1.宽度), 取随机数 (1, 画板1.高度), 取随机数 (1, 画板1.宽度), 取随机数 (1, 画板1.高度)) 进入许可区 (进入许可证1) 退出许可区 (进入许可证1) 延时 (500) 判断循环尾 ()

══════════════════════════════

子程序:__启动窗口_创建完毕

进入许可证1 = 创建进入许可证 () 进入许可证2 = 创建进入许可证 ()

══════════════════════════════

子程序:__启动窗口_将被销毁

删除进入许可证 (进入许可证1) 删除进入许可证 (进入许可证2)

══════════════════════════════

子程序:_按钮2_被单击

画矩形判断 = 取反 (画矩形判断) 判断 (画矩形判断 = 真) 如果 (进入许可证2 ≠ 0)

如果真 (启动线程 (&画矩形线程) = 真)

按钮2.标题 = “停止画矩形” 如果真结束 否则

信息框 (“创建进入许可证 失败”, 0, ) 如果结束 默认

按钮2.标题 = “开始画矩形” 判断结束

══════════════════════════════

子程序:画矩形线程

判断循环首 (画矩形判断 = 真) 置随机数种子 ()

画板2.刷子颜色 = 取颜色值 (取随机数 (0, 255), 取随机数 (0, 255), 取随机数 (0, 255))

画板2.画笔颜色 = 取颜色值 (取随机数 (0, 255), 取随机数 (0, 255), 取随机数 (0, 255))

画板2.画矩形 (取随机数 (1, 画板2.宽度), 取随机数 (1, 画板2.高度), 取随机数 (1, 画板2.宽度), 取随机数 (1, 画板2.高度)) 进入许可区 (进入许可证2) 退出许可区 (进入许可证2) 延时 (500) 判断循环尾 ()


易语言多线程详解(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:填空

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: