之前在另外一篇文章中提到过使用许可证使用多线程,保证全局变量或者组件不受到影响:易语言多线程与许可证,写好程序后,发给网友使用,发现出现闪退的问题,本来这个程序放电脑上要连夜跑的,结果第二天早上一看,程序不在了,也没有任何提示。
开始以为是不是自己哪里写的有问题,或者是易语言的多线程BUG,后面百度查询以后,发现是CPU亲和性的问题,使用网友提供的方法,解决了这个问题:
DLL命令名称和参数名称是可以随便写的,但是库文件名和库中对应的命令名是不能随便写的,因为系统会根据你写的库文件名去找对应的命令名,参数类型也是不能更改的。
这个括号中的-1,代表的应该就是程序自身的句柄,后面的1代表的是使用第一个CPU,我的理解是这样的,但是不知道是不是有错误。
我看到有的文章中说的是,只要在程序启动的时候调用一次就可以了,比如在窗口创建成功以后调用就可以了,我第一次使用是在每个线程内部调用一次,测试跑了一两天都没有闪退情况了(请别人测试的)。不过估计只需要在调用线程前调用一次这个函数就可以了。
标签: 多线程