dahaidao 发表于 2020-4-13 13:52:02

易语言多线程控制

.版本 2
.支持库 EThread

.程序集 启动窗口程序集
.程序集变量 许可证号, 整数型
.程序集变量 随机数变量, 整数型
.程序集变量 启动线程句柄, 整数型

.子程序 _启动线程按钮_被单击

启动线程 (&取数子程序1, 1, 启动线程句柄)
' 第二个参数是给取数子程序1的参数。
启动线程 (&取数子程序2, , )
等待线程 (启动线程句柄, 1000)' 等待的时间

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

许可证号 = 创建进入许可证 ()

.子程序 取数子程序1
.参数 延时时间, 整数型

置随机数种子 ()
.计次循环首 (100, )
    进入许可区 (许可证号)
    ' 在没有退出许可区之前,其他线程是不可能操作“随机数变量的”
    随机数变量 = 取随机数 (10, 99)
    延时 (延时时间)
    ' 这里用延时是为了和第二个县城的运算速度有差别。这样更容易出错,就更容易看出许可证的作用。
    十位编辑框.内容 = 十位编辑框.内容 + 到文本 (随机数变量) + #换行符
    退出许可区 (许可证号)
    ' 这样其它线程就可以操作“随机数变量”了。
.计次循环尾 ()

.子程序 取数子程序2

置随机数种子 ()
.计次循环首 (100, )
    进入许可区 (许可证号)
    ' 由于2个线程同时操作“随机数变量”,如果不用进入许可区,就会出现变量内容出错,下面的编辑框读出的内容就可能出错。
    随机数变量 = 取随机数 (101, 199)
    百位编辑框.内容 = 百位编辑框.内容 + 到文本 (随机数变量) + #换行符
    退出许可区 (许可证号)
.计次循环尾 ()


.子程序 __启动窗口_可否被关闭, 逻辑型

删除进入许可证 (许可证号)

.子程序 _强制结束线程_被单击

强制结束线程 (启动线程句柄)

.子程序 _关闭线程句柄_被单击

关闭线程句柄 (启动线程句柄)


图样图森破丶 发表于 2020-4-13 14:03:30

学习一下!十分感谢

特拉斯●狗蛋儿 发表于 2020-4-13 14:14:58

学习了,这就去试试

莫天浩 发表于 2020-4-13 14:26:26

期待中......

zxcasd123c1 发表于 2020-4-13 14:37:54

路过还不错

莫天浩 发表于 2020-4-13 14:49:21

非常不错,感谢分享!

刘小凯 发表于 2020-4-13 15:35:37

学习了!!!!

565562216 发表于 2020-4-13 16:21:53

很给力。。。。很喜欢

徐少 发表于 2020-4-13 17:08:09

非常不错,感谢分享!

几滴雨珠 发表于 2020-4-13 17:54:25

支持!!!!前排!!!!
页: [1] 2 3 4 5 6
查看完整版本: 易语言多线程控制