`
sh2015yao
  • 浏览: 139329 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用.net-Synchronized属性进行静态方法的同步

阅读更多

使用.net属性进行静态方法的同步
本文介绍使用.net得Synchronized属性实现线程的同步.
Synchronized毋庸置疑,可以方便的实现instance level的方法同步,但是是否同样适用于static方法呢?本文写了下面的代码进行验证。结果令人满意,确实可以实现静态方法的同步。

 

[MethodImpl(MethodImplOptions.Synchronized)]
    public static bool AppJobDelete(int id)
    {
        bool flag = true;
        try
        {
            string sql = "delete from Appjob where id=@id";
            SqlCommand command = new SqlCommand(sql, getConnection());
            command.Parameters.AddWithValue("@id", id);
            command.ExecuteNonQuery();
        }
        catch (Exception e)
        {
            flag = false;
        }
        return flag;
    }

 

 java的线程同步同步参考:

http://arthennala.blog.51cto.com/287631/56356 

分享到:
评论

相关推荐

    NET多线程同步方法详解

    本文将深入探讨.NET框架中实现线程同步的多种方法。 首先,我们来看自由锁(InterLocked)。自由锁主要通过Interlocked类提供的静态方法来实现线程安全的整型数值操作,如Increment和Decrement。这些操作在多线程环境...

    【ASP.NET编程知识】实例解析Java中的synchronized关键字与线程安全问题.docx

    4. **synchronized 类(类锁)**:可以使用 `synchronized` 关键字配合 `className.class` 来锁定整个类,这意味着任何对该类的静态成员的访问都会受到同步控制。 在提供的代码示例中,`MyThread` 类有两个方法:`...

    .net 的性能优化方法

    使用`MethodImplOptions.Synchronized`属性可以简化同步逻辑,但需注意其潜在的性能成本,尤其是在高并发环境中。 1.4.1.2 锁对象选择 选择合适的锁对象对于避免死锁和提高线程效率非常重要。通常建议使用静态字段...

    java题目以及Java面试题和ASP.NET的技术题目java题目以及Java面试题和ASP.NET的技术题目java题目以及Java面试题和ASP.NET的技术题目

    - 掌握线程同步的方法,如synchronized关键字,wait()和notify()方法。 - 学习线程池(ExecutorService)的使用,以及其优点。 5. 输入/输出流: - 了解I/O流的基本分类:字节流和字符流。 - 掌握...

    .Net程序员面试真题

    - **线程安全性**:`Hashtable`的所有方法都是同步的,而`HashMap`的方法不是同步的。 - **允许空键/空值**:`HashMap`允许键和值为`null`,而`Hashtable`不允许。 - **性能**:由于`HashMap`不是线程安全的,所以在...

    ASP.NET面试题2

    - 使用 `synchronized` 关键字可以保证在同一时间只有一个线程可以访问某个方法或代码块。 - 这有助于实现线程安全。 **示例:** ```java public synchronized void method() { // ... } ``` **注意:** - `...

    C#常用类简介

    C#是一种广泛使用的编程语言,尤其在开发.NET框架的应用程序时。在C#中,类是构建对象的基础,其中一些类被频繁使用,比如Array类和System.Text.String类。本篇将详细介绍C#中Array类的基本知识和常用方法。 Array...

    C# 静态变量与静态方法实例研究

    静态变量和静态方法在多线程环境中需要特别注意,因为它们是共享的,如果不加以同步控制,可能会引发数据竞争问题。在多线程编程中,可能需要使用`synchronized`关键字(在C#中是`lock`语句)来确保对静态变量的访问...

    .net面试题B(问题及答案)

    .NET面试题涵盖了多个核心概念,包括异常处理、对象哈希码、switch语句的使用限制、线程同步、抽象方法的特性、集合接口、字符串与数组的区别、线程的休眠与等待、数据类型的运算、并发处理、Session管理、进程与...

    .net 面试题.pdf

    14. **abstract与static、native、synchronized**:abstract不能与static、native和synchronized同时使用,因为它们有冲突的概念。 15. **继承String类**:C#中String是密封的,不能被继承。 16. **Override与重载...

    net代码优化总结、归纳.pdf

    - 静态变量使用ThreadStatic属性,为每个线程提供独立的存储空间。 - 使用try-finally块确保资源被释放,尤其是对于IDisposable接口实现的对象。 - 异常处理中finally语句的使用,确保即使发生异常资源也能被正确...

    C_面试题大全pdf.pdf

    - 抽象方法可以是同步的。 #### 23. Interface继承和Abstract Class实现 - **Interface继承**: - 接口可以继承其他接口。 - **Abstract Class实现**: - 抽象类可以实现接口。 - **Abstract Class继承**: -...

    .net 面试题.docx

    4) 在B/S系统中传递变量值,除了Session、Cookie、Application,还可以使用URL查询字符串、Viewstate、隐藏字段、服务器转移(Server.Transfer)、自定义控件属性等方法。 5) 面向对象的基本特征包括封装、继承、多态...

    【ASP.NET编程知识】java 单例模式(饿汉模式与懒汉模式).docx

    `getInstance()` 方法是静态的,可以直接通过类名调用,无需实例化。 2. **懒汉模式**: 懒汉模式在第一次需要时才创建对象,延迟了对象的初始化。但是,如果不进行同步控制,多线程环境下可能会创建多个实例,...

    c# 线程同步: 详解lock,monitor,同步事件和等待句柄以及mutex

    例如,ArrayList的Synchronized方法会返回一个线程安全的包装器,其内部方法都进行了同步处理。 总的来说,选择哪种线程同步机制取决于具体的应用场景。lock适合简单的情况,Monitor提供更灵活的控制,同步事件和...

    java细节总结 非常适合初学者学习

    - synchronized:仅用于方法和代码块,实现线程同步。 - volatile:用于变量,保证并发时的可见性和有序性。 - native:用于方法,表示方法的实现位于非Java代码中。 - strictfp:用于方法或类,确保浮点计算的...

    U9性能优化.pdf

    - 使用`ThreadStatic`属性来修饰类的静态成员,使得每个线程都有一个独立的副本,从而避免了线程间的竞争。 #### 二、数据库操作与U9平台 文档还提到了一些关于数据库操作和U9平台的知识点: - **数据库操作**:...

    NET REMOTING 技术 -4

    1. **静态方法与属性的限制**:由于远程方法回调依赖于对象实例,因此不能通过对象引用访问静态方法或属性。 2. **元数据的需求**:为了使服务端能够调用客户端对象的方法,服务端需要客户端对象的类型元数据。一种...

    Java基础知识的详细总结

    - `synchronized`关键字用于同步代码块或方法。 - `Lock`接口提供了比`synchronized`更灵活的锁定机制。 - `volatile`关键字用于标记变量,确保线程之间的可见性。 - **并发工具类**: - `ExecutorService`接口...

    Java代码编写30条建议

    - 使用`synchronized`关键字或其他并发工具类。 - 避免共享可变数据,尽可能使用不可变对象。 #### 28. 性能优化 - 性能优化应该基于实际的需求和瓶颈分析。 - 使用性能分析工具(如JProfiler、VisualVM)来识别...

Global site tag (gtag.js) - Google Analytics