解决易语言多线程出错的问题
log_Content
最近在给客户写软件,发现我这边一直没有发现出错的问题,但是客户的软件一运行多线程就出错,一直找不到问题,找了好久才找到解决方法,原来是CPU的问题,多线程对于双核CPU亲和性上有问题,现在找到问题的解决方法,顺便记录一下,或许有朋友遇到同样的问题,可以一起参考.
DLL命令:
.版本2
.DLL命令SetProcessAffinityMask,整数型,,,公开,设置CPU亲和性进程句柄返回CPU号
.参数hProcess,整数型
.参数hProcess,整数型
.DLL命令SetThreadAffinityMask,整数型,,,公开,设置CPU亲和性线程句柄
.参数hProcess,整数型
.参数Mask,整数型
.DLL命令GetCurrentProcess,整数型,,,公开,获取当前进程的一个伪句柄一般是-1
.DLL命令GetCurrentThread,整数型,,,公开,获取当前线程的一个伪句柄一般是-2
将以下代码放到易代码开始即可:
SetProcessAffinityMask(-1,1)
以上就是解决问题的全部内容,感谢大家对毛票票的支持。