请问如果我想执行一句代码后让到下一句代码的执行时间有个间隙,
既想自己控制他在前一句代码执行后的多少时间后开始执行有办法做到么,
for(int i=0;i<10;i++)
{
Console.WriteLine("OK");
System.Threading.Thread.Sleep(2000);
}
我用这种办法的.
C#怎样实现延时执行代码的功能? 请高手指点:
需求如下:
A用户-->执行方法1-->执行方法2-->执行方法3-->流程结束;
B用户-->执行方法1-->执行方法2-->执行方法3-->流程结束;
.
.
.
N用户-->执行方法1-->执行方法2-->执行方法3-->流程结束;
想在方法1 , 方法2,方法3 之间加入一个延时函数,即是方法1执行完毕,过5分后再执行方法2;
且在A用户运行过程中,又不影响B用户等其他用户的操作;
一天会有几百个用户执行这个流程,延时代码该如何实现呢?
回答一:(这个回答得分10分)
Thread.Sleep()延迟
或多线程class Test
{
public static Int64 i = 0;
public static void Add()
{
for (int i = 0; i < 100000000; i++)
{
Interlocked.Increment(ref Test.i);
}
}
public static void Main(string[] args)
{
Thread t1 = new Thread(new ThreadStart(Test.Add));
Thread t2 = new Thread(new ThreadStart(Test.Add));
t1.Start();
t2.Start();
t1.Join();
t2.Join();
Console.WriteLine(Test.i.ToString());
Console.Read();
}
回答二:(这个回答得分20分)
Timer控件
Timer.Enabled 属性用于设置是否启用定时器
Timer.Interval 属性,事件的间隔,单位毫秒
Timer.Elapsed 事件,达到间隔时发生。
例子:
public class Timer1
{
public static void Main()
{
System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Elapsed+=new ElapsedEventHandler(OnTimedEvent);
// Set the Interval to 5 seconds.
aTimer.Interval=5000;
aTimer.Enabled=true;
Console.WriteLine("Press \ q\ to quit the sample.");
while(Console.Read()!= q );
}
// Specify what you want to happen when the Elapsed event is raised.
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
Console.WriteLine("Hello World!");
}
}