日期:2014-05-18  浏览次数:20926 次

请各位帮忙看看,有没有更好的实现方法
C# code
 
        public void Start()
        {
            if (islink)
            {
                stopSend = false; //先设置开始前状态
                foreach (string c in contentlist)
                {

                    for (int x = 0; x < maxsend; x++)
                    {
                        if (stopSend)//停止执行
                        {
                            outmeesage("停止");
                            return;
                        }
                        else
                        {
                            
                            outmeesage("执行中..."); 
                            
                            if (Send(botelv, c))
                            {

                                SaveData("成功", botelv,  c);
                            }
                            else
                            {

                                SaveData("失败", botelv, c);

                            }

                            outmeesage("执行完毕");
                            Thread.Sleep(3600 / int.Parse(sulv) * 1000);
                            
                        }
                    }
                   

                }
                end(true);//返回执行结束事件
                outmeesage("结束!");
                //Stop();

            }
        }

停止执行的时候,总是不能立即停止; 请各位帮忙看看怎么修改,或者有更好的实现 开始和停止 的方法

------解决方案--------------------
异步、多线程。
------解决方案--------------------
for 循环里面
C# code
outmeesage("执行中...");
if (Send(botelv, c))
{
    SaveData("成功", botelv, c);
}
else
{
    SaveData("失败", botelv, c);
}
outmeesage("执行完毕");
if (stopSend)
{
    outmeesage("停止");
    return;
}
Thread.Sleep(3600 / int.Parse(sulv) * 1000);
if (stopSend)
{
    outmeesage("停止");
    return;
}

------解决方案--------------------
探讨

停止执行,就在for循环里啊

------解决方案--------------------
探讨

引用:

停止执行,就在for循环里啊


break;
if (stopSend)//停止执行
{
outmeesage("停止");
break;
……