不要说写文件这种访问慢速外设情况了,就是我们两个线程对一个内存变量同时修改都可能出错,
因为机器执行的是汇编级指令,即使一个 if XXX then i:=i+1
,也是分成许多的小指令的,
那么,当判断完 XXX 的时候,还没有来得及对i加1,时间片到了的话,另外一个线程看到的
i 就不是正确的 i ,就出错 。然后回到 原来的线程 就更出错。。。。。。 请看:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2392085 关于多线程访问同一对象