Lock使用实例

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();

}

}

}

上一篇:linux设备模型:扩展篇


下一篇:iOS实现文件上传功能模块