考虑我有一个共享功能:-
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?
是的。同样,因为没有信息的共享存储,并且因为所有输入都是按值传递的,所以它是线程安全的。
关于vb.net - VB .NET 共享函数如果同时调用多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2519356/