C#计数器,定时器
winform程序。我用while (true)
{
filecount = System.IO.Directory.GetFiles(Utils._receivePath, "*.bin", SearchOption.TopDirectoryOnly).Count();//检索接收目录中的文件数
if (filecount == 50)
break;
Thread.Sleep(100);
}来判断接收目录中收到的文件个数,收够50个的时候再进行下面的操作,现在我需要写一个计数器,来记录sleep了多少次,比如我想用定时器来定它到1分钟的时候就报超时,那也就是sleep了600次,即,当计数器记到600的时候,定时器就被触发。求定时器与计数器的写法!
------解决方案--------------------int count = 0;
winform程序。我用while (true)
{
filecount = System.IO.Directory.GetFiles(Utils._receivePath, "*.bin", SearchOption.TopDirectoryOnly).Count();//检索接收目录中的文件数
if (filecount == 50)
break;
Thread.Sleep(100);
count ++;
}
判断count即可
------解决方案--------------------while (sleepcount<600)
{
}
Thread.Sleep(100);线程停止 不是计时器
计时器的话就是另一种设计思路了。
System.IO.Directory.GetFiles 如果结果不变,我就真心不知道你这个算法的意义是什么
------解决方案--------------------
------解决方案--------------------思路有点问题啊。。。你计数器和计时器写在一起?
最简单的一个问题,如果我在0.05秒里边传过来两个文件。。。咋整?会丢包的
比较好的思路是:让接收文件的方法处于挂起状态,这样信号量传进来就可以立刻处理,处理完成后立刻又转为挂起侦听状态。
计时器,可以写得后台线程中跑着,到60秒委托前台线程结束。