110,566
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace Thread_Methods
{
class Consts
{
public static int UnitTime = 100000000;
}
class Program
{
static void Main(string[] args)
{
ThreadClass tc1 = new ThreadClass("OOO",1);
ThreadClass tc2 = new ThreadClass("XXX",2);
Thread t1 = new Thread(new ThreadStart(tc1.Work));
Thread t2 = new Thread(new ThreadStart(tc2.Work));
t1.Start();
t2.Start();
Thread.SpinWait(Consts.UnitTime * 10);
t1.Abort();
t2.Abort();
Console.WriteLine("--- End ---");
Console.Read();
}
}
class ThreadClass
{
public bool IsWorking = true;
private string Name = "ThreadClass";
private int Interval = 1;
private DateTime StartTime;
public ThreadClass(string name, int interval)
{
StartTime = DateTime.Now;
Name = name;
Interval = interval;
}
public void Work()
{
while (IsWorking)
{
Console.WriteLine(Name + "\t" + (DateTime.Now - StartTime).ToString());
Thread.SpinWait(Consts.UnitTime * Interval);
}
}
}
}
打印结果如下:
OOO 00:00:00.0250014
XXX 00:00:00.0280016
OOO 00:00:00.6100349
OOO 00:00:01.1940683
XXX 00:00:01.2020687
OOO 00:00:01.7651010
OOO 00:00:02.3481343
XXX 00:00:02.3601349
OOO 00:00:02.9371680
OOO 00:00:03.5282018
XXX 00:00:03.5342021
OOO 00:00:04.0952342
OOO 00:00:04.6602665
XXX 00:00:04.6792676
OOO 00:00:05.2252989
OOO 00:00:05.8113324
XXX 00:00:05.8403340
--- End ---
class Consts
{
public static int UnitTime = 100000000;
}
class Program
{
static void Main(string[] args)
{
ThreadClass tc1 = new ThreadClass();
Thread t1 = new Thread(new ThreadStart(tc1.Work));
t1.Start();
Thread.SpinWait(Consts.UnitTime * 10);
t1.Abort();
}
}
class ThreadClass
{
public bool IsWorking = true;
private DateTime StartTime;
public ThreadClass()
{
StartTime = DateTime.Now;
}
public void Work()
{
while (IsWorking)
{
Console.WriteLine((DateTime.Now - StartTime).ToString());
Thread.SpinWait(Consts.UnitTime);
}
}
}