vc中sleep语句将所有代码都延迟了,是怎么回事?

来源:百度知道 编辑:UC知道 时间:2024/07/04 11:19:42
希望执行语句1后延迟两秒钟执行语句2,在语句1后加入语句Sleep(2000),在运行,结果语句1和语句2都延迟了两秒钟执行,这是为什么?
代码是这样的,m_strMsg和m_strEdit2是两个editbox控件的变量,希望m_strEdit2比m_strMsg延迟显示,但是效果是两个都延迟了,不知道为啥。
UpdateData(true);
int x[20];
CString str;
CString str1;
srand((unsigned)time(NULL));
int m;
for (m=0;m<20;m++)
{
x[m]=rand();
str.Format("%d\r\n",x[m]);
m_strMsg = m_strMsg + str;

}
Sleep(1000);
int i,temp;
for(i=19;i>=0;i--)
{
for(m=0;m<i;m++)
{
if(x[m+1]<x[m])
{
temp=x[m+1];
x[m+1]=x[m];
x[m]=temp;
}
}
str1.Format("%d\r\n",y[m]);
m_strEdit2 = m_strEdit2 + str1;
}
UpdateData(FALSE);

两条什么语句? 是不是 I/O 方面的, 如果是, I/O 操作可能被操作系统缓存, 把代码贴出来让大家看看吧!

我在linux 下页遇到这个问题了,for循环10次,每次输出一个值 后延迟1 秒,结果却是先延迟10秒,再一下子把所有 结果输出来了,问题到现在 还没解决

O_O
语句1不可能会延迟两秒吧,那要看你是怎么驱动这两个语句的了

你的语句1和语句2 是在一个循环里面吗?