using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq; using System.Text;
using System.Threading; using System.Threading.Tasks;
namespace LockUse {
//使用Lock(this)的类
class MyClass
{ //声明一个bool变量,用于判断是否上锁 //bool testValue = true;
//使用一个私有变量 private string lockParam = "lockParam";
//写一个使用Lock的方法 public void MethordUseLok(object o)
{ lock (lockParam)
{ while ((bool)o)
{ Console.WriteLine("我被锁住了,动不了"); Thread.Sleep(500);
}
}
}
//一个不锁的方法
public void MethordNotUseLoak()
{ Console.WriteLine("我是没有上锁的,随便用");
}
}
class Program
{
static void Main(string[] args)
{
MyClass mc = new MyClass();
Thread t1 = new Thread(mc.MethordUseLok);
t1.Start(true);
Thread.Sleep(400);
lock(mc)
{
mc.MethordNotUseLoak();
mc.MethordUseLok(false); }
Console.ReadKey();
}
}
}
原文:http://www.cnblogs.com/cjaa123/p/5510464.html