两个线程共享同一会出现问题。原理是这样的比如数字A=100这时候线程1和线程2都要执行 A-- 这条语句。A--翻译成汇编是这样的:mov ax,Asub ax,1mov A,ax两个线程同时执行的时候你可以看到这样的情况mov ax,A ;线程1,这时候ax=100,A=100sub ax,1 ;线程1,这时候ax=99mov ax,A ;线程2,这时候ax=100,A=100sub ax,1 ;线程2,这时候ax=99mov A,ax ;线程1,这时候A=99mov A,ax ;线程1,这时候A=99我们本来期望两个线程进行两次自减,但是结果却只减了1次。解决方...
|