VB.netにおける Static と シンクロナイズ メソッド
<System.Runtime.CompilerServices.MethodImpl(Runtime.CompilerServices.MethodImplOptions.Synchronized)> _
Public Shared Sub test(ByVal str As String)
End Sub
<System.Runtime.CompilerServices.MethodImpl(Runtime.CompilerServices.MethodImplOptions.Synchronized)> _
Public Shared Sub tests(ByVal d As Integer)
End Sub
SharedがStaticの宣言です
<System.Runtime.CompilerServices.MethodImpl(Runtime.CompilerServices.MethodImplOptions.Synchronized)>
をメソッドの先頭に付けるとシンクロナイズが実現できます。
Static にしたときはクラスレベルからのシンクロナイズになります
付けないときはObject レベルでのシンクロナイズになります。
一つのクラスの中に別名のシンクロナイズメソッドが在っても、それらも、シンクロナイズされ、
一つのメソッドしか実行できません。