小测试
static void Main(string[] args)
{
for (int i = 0; i < 100; i++)
{
Console.WriteLine("开始:" + i);
Test(i);
Console.WriteLine("结束:" + i);
}
Console.ReadKey();
}
static void Test(int i)
{
try
{
if (new Random().Next(1, 5) == 3)
{
Console.WriteLine("随机失败" + i);
throw new Exception("");
}
else
{
Console.WriteLine("成功。。。");
}
}
catch (Exception)
{
Task.Run(() =>
{
var dateStart = DateTime.Now;
var dateEnd = DateTime.Now;
Console.WriteLine("线程开始" + i);
while (true)
{
Thread.Sleep(new Random().Next(1, 10) * 100);
dateEnd = DateTime.Now;
if ((dateEnd.Ticks - dateStart.Ticks) / 10000000 > new Random().Next(3, 5))
{
break;
}
}
Console.WriteLine($"线程{i}结束,耗时:{((dateEnd.Ticks - dateStart.Ticks) / 10000000)}秒");
});
}
}