今天我在做多线程的互斥锁研究中,研究主线程和子线程之间互斥锁是怎么抢占资源时:
发现一个问题:[code] for(i=0;i<10;i++)
{
printf("%d ",i);
sleep(5);
printf("%d",i);
}[/code]这个语句执行的结果是任何人都没有想到的是:屏幕一直等待,没有任何显示,按理,至少要显示个0;可是什么都没有,过了50s后才有了结果。这个也许是需要研究的。
待研究中。
ftzhuihun 于 2008-06-05 15:45:52发表:
我照着楼主的做了一遍和楼主一样的问题;
第二次加了"\n”,输出是这样的0 01 12 23 34 45 56 67 78 89 9
空格表示停顿
glymcai 于 2008-06-02 16:01:43发表:
因为你的printf没有加“\n”,导致输出在输出缓冲中,没有及时输出来。
thungoder 于 2008-05-29 12:17:35发表:
过了50s后才有了结果,什么结果?