先看一个模拟多个线程同时写1000条日志例子:
class Program {
static void Main(string[] args) {
Thread t1 = new Thread(Working);
t1.Name = "Thread1";// 实例化三个写日志的线程。
Thread t2 = new Thread(Working);
t2.Name = "Thread2";
Thread t3 = new Thread(Working);
t3.Name = "Thread3";
// 依次启动3个线程。
t1.Start();
t2.Start();
t3.Start();
Console.ReadKey();
}
// 每个线程都同时在工作
static void Working() {
// 模拟1000次写日志操作
for (int i = 0; i < 1000; i++) {
Logger.Write(Thread.CurrentThread.Name + " writes a log: " + i + ", on " + DateTime.Now.ToString() + ".\n");
}// 做一些其它的事件
for (int i = 0; i < 1000; i++) { }
}
}
并发: