vbPublic Shared Function CalculateAreaFromRadius(ByVal radius As Double) As Double ' 将半径平方... Dim radiusSquared As Double radiusSquared=radius * radius ' 乘以π... Dim result As Double result=radiusSquared * Math.PI ' 返回结果 Return resultEnd Function
考虑一下我有一个共享功能: –
Public Shared Function CalculateAreaFromRadius(ByVal radius As Double) As Double
' square the radius...
Dim radiusSquared As Double
radiusSquared = radius * radius
' multiply it by pi...
Dim result As Double
result = radiusSquared * Math.PI
'Wait a bit, for the sake of testing and
'simulate another call will be made b4 earlier one ended or such
for i as Integer = 0 to integer.Max
Next
' return the result...
Return result
End Function
1) If I have two or more threads in the same vb .net app and each of them calls the shared function at the same time with different RADIUS, will they each get their own AREA?
是的,因为半径值是按值传递的,并且该方法只使用本地声明变量.
2) I want to know for each call to the function if it is using same local variables or each call creates new instances of local variables?
每次调用都会创建其局部变量的新实例.
3) Will the answers to above questions be same If I have multiple (2+) single threaded apps and they all call the function at the same time with different RADIUS value?
vbPublic Shared Function CalculateAreaFromRadius(ByVal radius As Double) As Double ' 将半径平方... Dim radiusSquared As Double radiusSquared=radius * radius ' 乘以π... Dim result As Double result=radiusSquared * Math.PI ' 返回结果 Return resultEnd Function
考虑一下我有一个共享功能: –
Public Shared Function CalculateAreaFromRadius(ByVal radius As Double) As Double
' square the radius...
Dim radiusSquared As Double
radiusSquared = radius * radius
' multiply it by pi...
Dim result As Double
result = radiusSquared * Math.PI
'Wait a bit, for the sake of testing and
'simulate another call will be made b4 earlier one ended or such
for i as Integer = 0 to integer.Max
Next
' return the result...
Return result
End Function
1) If I have two or more threads in the same vb .net app and each of them calls the shared function at the same time with different RADIUS, will they each get their own AREA?
是的,因为半径值是按值传递的,并且该方法只使用本地声明变量.
2) I want to know for each call to the function if it is using same local variables or each call creates new instances of local variables?
每次调用都会创建其局部变量的新实例.
3) Will the answers to above questions be same If I have multiple (2+) single threaded apps and they all call the function at the same time with different RADIUS value?