老师们好,请问TBQ3中SetDicValue()与GetDicValue()两个函数同时运行时(对同一键名下的同一关联标的进行一写一读,True状态),会否引起硬盘(SSD型)读写冲突?我有一模型,经常死机(工作站,32核64线程、256G内存、1TBSSD),查不出原因,但模型中大量用了这两个函数 ,因此怀疑是否是这个原因引起?
不会引起硬盘读写冲突
Vars
Integer i;
Integer r;
Events
OnBar(ArrayRef<Integer> indexes)
{
For i = 0 To 10000
{
SetDicValue("测试", Symbol, 20150401, i, True);
GetDicValue("测试", Symbol, date, r);
Print(Text(r));
}
}
您测试一下这个代码,确实会引起某些冲突导致死机,也有可能是线程冲突。
经过进一步测试,是GetDicValue()函数存在问题,达到一定的频率,就会导致程序崩溃!
你循环够多,不写东西也会卡死啊