C# lock使用

来源:互联网 发布:下载gif软件 编辑:程序博客网 时间:2024/04/28 18:08

 

在项目中有一个功能模块, 建设银行网银打款的! 当支付成功的时候 他们的程序回来请求我这边的一个页面!我在数据库中有一个状态标识,如果是 没有处理的数据,我就拿来处理。

当客户在使用程序的时候,程序上出现了一个问题,那就是给客户加款重复!也就意味着,我的方法被在同一时刻执行了两次,或者说在状态还没有被修改过来的时候,就已经被修改了!

当中情况的时候 我使用lock来锁上我编写的代码:

 

定义全局变量  static object _lock =new object();

 

lock (_lock)
            {
              
                try
                {
                    //在此编写代码
                }

当然这只是在并发量少的情况下使用,如果并发量大了,就要考虑其他方式!