using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace ConsoleApplication7 { class Program { static void Main(string[] args) { Program p = new Program(); p.RetryCalculator(); for (int i = 0; i < 100; i++) { p.OutSideInvoke(); Thread.Sleep(30); } } /// <summary> /// 调用的代码 /// </summary> public void OutSideInvoke() { if (count>=0) { //在这里写你调用的代码 Console.WriteLine("我在这里调用了"); Console.WriteLine(count); //把数据减1,如果减到0就不能再使用了 count--; } } private volatile static int count=30; private System.Timers.Timer timer; public void RetryCalculator() { if (timer != null) { timer.Dispose(); } timer = new System.Timers.Timer(); timer.Elapsed += timer_Elapsed; timer.Interval = 1000; timer.Start(); } void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { count = 30; } } }
多线程啊 一个线程执行30次 控制这个线程执行1秒就结束 开始下一个线程