第(一到四)课易语言大漠多线程创建线程

http://list.youku.com/albumlist/show/id_49750716

 

第一课易语言大漠多线程创建线程

 

 

小知识:进程和线程的理解

每个进程 系统都会分配资源给这个进程 这个进程对应的所有线程 这些线程都会有一点独立的资源占用 用来存放自己独有的资源 但是更多的是利用进程的共享资源 所有线程会共享 这个进程的资源内容 线程是运行的最小单

 

 

 

小知识:关于多线程中的循环体内部是否需要加入处理事件的问题

https://bbs.125.la/forum.php?mod=viewthread&tid=13815874&highlight=%B6%E0%CF%DF%B3%CC%2B%B4%A6%C0%ED%CA%C2%BC%FE

第(一到四)课易语言大漠多线程创建线程_第1张图片

 

 

小知识:测试得知 延迟()非常消耗cpu 建议之后所有的 延迟() 延时()都用 精易模块的 程序_延时()代替

 

 

 

小知识:如果开启多个线程发现cpu占用异常之高 请把线程里面的 延迟() 都改为精易模块的 程序_延时() 或者易语言里面的延时() 就可以了 在主代码里面无法使用延时()是因为会干扰到脚本整体的主代码的运行 呈现卡住假死的状态 但是在多线程下使用 延时() 不会影响到主代码的运行 所以可以放心大胆的使用

 

 

第(一到四)课易语言大漠多线程创建线程_第2张图片

第(一到四)课易语言大漠多线程创建线程_第3张图片

 

根据这节课来写的一个代码:

第(一到四)课易语言大漠多线程创建线程_第4张图片

 

第(一到四)课易语言大漠多线程创建线程_第5张图片

 

核心思路 首先在程序集 定义个 许可证变量 来准备接收许可证数据 然后 窗口载入事件 创建许可证对象 并把这个许可证索引赋值给 程序集的那个变量 然后开始启动线程 把线程索引 也一起传进 线程函数 线程内部不要使用 处理事件() 但是要用 程序_延时() 或者延时()主代码 用延迟()程序_延时() 和 处理事件() 最省事

 

 

第二课511遇见易语言大漠多线程API挂起恢复销毁线程

 

线程的挂起 :

第(一到四)课易语言大漠多线程创建线程_第6张图片

线程的恢复:

第(一到四)课易语言大漠多线程创建线程_第7张图片

线程的销毁:

第(一到四)课易语言大漠多线程创建线程_第8张图片

 

老师的办法是在易语言直接使用api来实现 但是呢 精易模块开源了 早就写好了对应的方法 而且原理和老师的一样也是调用同样的api 建议 全用精易模块即可

 

 

第三课511遇见易语言大漠多线程绑定游戏和打怪(方法一)

12

 

老师获取指定 进程名的对应窗口们 用的是

精易模块的 进程_取ID数组

第(一到四)课易语言大漠多线程创建线程_第9张图片

 

基本流程:

获取到了句柄 无非就是初始化下 大漠 注册大漠 在载入窗口的时候完成了 然后 创建大漠对象 然后输出下 大漠的当前版本判断 创建是否成功 然后设置大漠的路径 字库 之类的东西 然后开始 进行大漠的绑定操作 绑定参数 你懂的额 不用管了 判断是否绑定成功(绑定后一顶要有一顶时间间隔后再判断) 成功了 则 开始 启动线程() 42342

 

然后就是线程内的操作了 不要忘记把线程索引id传递进线程 方便操作和辨识

 

 

第四课511遇见易语言大漠多线程绑定游戏和打怪(方法二)

12

第(一到四)课易语言大漠多线程创建线程_第10张图片

 

 

第(一到四)课易语言大漠多线程创建线程_第11张图片

你可能感兴趣的:(易语言,大漠)