如下代码,执行时会出现程序假死
for (int j = 0; j < 36; j++)
{
pictureBoxZhang.Top ++; System.Threading.Thread.Sleep(10);
} for (int j = 0; j < 15; j++)
{
for (int i = 0; i < 10; i++)
{
pictureBoxZhang.Top++;
pictureBoxZhang.Left++;
System.Threading.Thread.Sleep(10);
}
for (int i = 0; i < 10; i++)
{
pictureBoxZhang.Top--;
pictureBoxZhang.Left++;
System.Threading.Thread.Sleep(10);
}
} for (int j = 0; j < 15; j++)
{
for (int i = 0; i < 10; i++)
{
pictureBoxZhang.Top++;
pictureBoxZhang.Left--;
System.Threading.Thread.Sleep(10);
}
for (int i = 0; i < 10; i++)
{
pictureBoxZhang.Top--;
pictureBoxZhang.Left--;
System.Threading.Thread.Sleep(10);
}
} for (int j = 0; j < 36; j++)
{
pictureBoxZhang.Top --; System.Threading.Thread.Sleep(10);
}
for (int j = 0; j < 36; j++)
{
pictureBoxZhang.Top ++; System.Threading.Thread.Sleep(10);
} for (int j = 0; j < 15; j++)
{
for (int i = 0; i < 10; i++)
{
pictureBoxZhang.Top++;
pictureBoxZhang.Left++;
System.Threading.Thread.Sleep(10);
}
for (int i = 0; i < 10; i++)
{
pictureBoxZhang.Top--;
pictureBoxZhang.Left++;
System.Threading.Thread.Sleep(10);
}
} for (int j = 0; j < 15; j++)
{
for (int i = 0; i < 10; i++)
{
pictureBoxZhang.Top++;
pictureBoxZhang.Left--;
System.Threading.Thread.Sleep(10);
}
for (int i = 0; i < 10; i++)
{
pictureBoxZhang.Top--;
pictureBoxZhang.Left--;
System.Threading.Thread.Sleep(10);
}
} for (int j = 0; j < 36; j++)
{
pictureBoxZhang.Top --; System.Threading.Thread.Sleep(10);
}
那不是假死,那失去响应是正常的,因为主线程不停地进入睡眠状态
你这程序是不是写着玩儿的??
一般的循环都有替代的,
尽量别嵌套太多循环!
还有同上,循环一次就Sleep干啥??
不懂!
我如何优化我的程序呢?