使用.net-Synchronized属性进行静态方法的同步
2008-04-13 03:45
387 查看
使用.net属性进行静态方法的同步
本文介绍使用.net得Synchronized属性实现线程的同步.
Synchronized毋庸置疑,可以方便的实现instance level的方法同步,但是是否同样适用于static方法呢?本文写了下面的代码进行验证。结果令人满意,确实可以实现静态方法的同步。
1
2 using System;
3 using System.Collections.Generic;
4 using System.Text;
5 using System.Runtime.CompilerServices;
6 using System.Threading;
7
8 namespace TestN
9 {
class Test
{
public static void Main()
{
new Thread(Add).Start();
Add2();
}
[MethodImpl(MethodImplOptions.Synchronized)]
public static void Add()
{
Console.WriteLine("1");
Console.ReadLine();
}
[MethodImpl(MethodImplOptions.Synchronized)]
public static void Add2()
{
Console.WriteLine("2");
Console.ReadLine();
}
}
}
本文介绍使用.net得Synchronized属性实现线程的同步.
Synchronized毋庸置疑,可以方便的实现instance level的方法同步,但是是否同样适用于static方法呢?本文写了下面的代码进行验证。结果令人满意,确实可以实现静态方法的同步。
1
2 using System;
3 using System.Collections.Generic;
4 using System.Text;
5 using System.Runtime.CompilerServices;
6 using System.Threading;
7
8 namespace TestN
9 {
class Test
{
public static void Main()
{
new Thread(Add).Start();
Add2();
}
[MethodImpl(MethodImplOptions.Synchronized)]
public static void Add()
{
Console.WriteLine("1");
Console.ReadLine();
}
[MethodImpl(MethodImplOptions.Synchronized)]
public static void Add2()
{
Console.WriteLine("2");
Console.ReadLine();
}
}
}
相关文章推荐
- java同步静态方法与非静态方法(使用synchronized关键字)
- 多线程编程 使用 synchronized来同步静态方法 非静态方法 代码块
- 使用Synchronized关键字同步类方法
- winform 使用Anchor属性进行界面布局的方法详解
- .NET中使用反射访问属性方法
- 同步方法的使用 synchronized
- JavaSE8基础 多线程synchronized 同步静态方法的锁
- Powershell中可以使用的.Net实用静态方法
- 关于Jpa使用Update方法进行更新操作,却没有同步到数据库的原因
- .net的ajax中使用javascript的send方法post参数,url传参,ajax同步异步JS包,传参即可用
- 怎样在静态方法中使用 synchronized
- 使用setter方法和=号进行属性赋值的区别
- 使用JAVASCRIPT实现静态物体、静态方法和静态属性
- 2.2.9同步静态方法与synchronized(class)
- [.NET]使用FactoryManager为遗留的静态方法作单元测试
- java synchronized静态同步方法与非静态同步方法,同步语句块
- 初学Java多线程:使用Synchronized关键字同步类方法
- 【封装】java中为什么要将属性进行私有化,又使用set和get方法来设置和获取属性呢?
- 使用setter方法和=号进行属性赋值的区别
- java synchronized同步静态方法和同步非静态方法的区别与举例