shell设置指令:date -s '1999-01-01 08:08:08'
当程序执行该指令之后,子线程就没了响应;
网上找了个函数来设置时间:stime()、 settimeofday(),当设置成功之后子线程同样,没了响应;
之后使用movetothread,修改子线程的方式,卡住时间稍有缩短,原因未知,也可能是错觉。修改过程中,由于去掉了qthread头文件,使函数中msleep无法使用,调整过程中发现去掉之后不卡了。使用unistd.h中的sleep、usleep,程序同样不会卡顿。
应该是qt的sleep机制调用的是currentdatetime,导致在设置时间的时候,currentdatetime函数出现问题,从而引起卡顿。::sleep则使用的循环,没有该问题