zoukankan      html  css  js  c++  java
  • lock的等效代码

    1.lock的等效代码

      在.NET的多线程程序中,经常会遇到lock关键字来控制同步,比如下列代码:

    private object o = new object();

    public void Work()

    {

      lock(o)

      {

        //做一些需要线程同步的工作

      }

    }

      事实上,lock这个关键字是C#为方便程序员而定义的语法,它等效于安全地使用System.Threading.Monitor类型。上面的代码就直接等效于下面的代码:

    private object o = new object();

    public void Work()

    {

      //这里很重要,是为了避免直接使用私有成员o,而导致线程不安全

      object temp = o;

      System.Threading.Monitor.Enter(temp);

      try

      {

        //做一些需要线程同步的工作

      }

      finally

      {

        System.Threading.Monitor.Exit(temp);

      }

    }

  • 相关阅读:
    c# 进制
    java生成验证码
    java基础练习题
    java九九乘法表
    java list集合练习
    深入理解Java的接口和抽象类
    java 接口 练习
    java泛型详解
    Java 继承 小练习
    Java单例模式深入详解
  • 原文地址:https://www.cnblogs.com/yy1234/p/11344043.html
Copyright © 2011-2022 走看看