using System
using System.Threading;//namespace ThreadExample
{//
class FileAccess//
{
public void WriteData(string Data)
{//
Monitor.Enter(this);// //Console.WriteLine("文件访问.写入数据--开始");
//Console.WriteLine("文件访问.写入数据--工作");
for(int cnt=0;cnt<10;cnt++)
{
Console.Write(Data);
}
//Console.WriteLine("文件访问.写入数据--结束");
Console.WriteLine(".......................");
Monitor.Exit(this);//释放监视锁
}
}
class ThreadMonitorclass//定义一个其他类
{
public static FileAccess Fd=new FileAccess();//声明一个静态类的对象Fd

public static void ChildThread1()//定义静态方法1将来被委托调用
{
Console.WriteLine("子线程#1开始");
//Console.WriteLine("子线程#1调用.文件访问写入");
Fd.WriteData("T1");

Console.WriteLine("子线程#1--从输出返回");
}
public static void ChildThread2()
{
Console.WriteLine("子线程#2--开始");
//Console.WriteLine("子线程#2--开始调用文件访问写入数据");
Fd.WriteData("T2");

Console.WriteLine("子线程#2--从输出开始返回");
}
public static void Main()
{
ThreadStart Child1=new ThreadStart(ChildThread1);
ThreadStart child2=new ThreadStart(ChildThread2);

//Console.WriteLine("主---创建子线程");

Thread Thread1=new Thread(Child1);
Thread Thread2=new Thread(child2);

Thread1.Start();
Thread2.Start();
Console.ReadLine();
}
}
}