当前位置:编程学习 > C#/ASP.NET >>

求助一个静态方法的问题

如果一个类的静态方法被多个用户同时调用, 那么每个用户会得到所期望的返回值么?

例如 class MyClass 
   {
     public static int cal(int i)
     {
         
        return i;
     }
   }

   那么user1 调用MyClass.search(1) 返回 1

    user2 调用MyClass.search(3) 返回多少?

 期望得到3,  但是会不会受到前一个值的影响 --------------------编程问答-------------------- 在并发量高的时候得不到想要的值 --------------------编程问答-------------------- 我觉得应该不会出现什么乱子吧 应该是3  并易做图况不是很懂 坐等高人解析! --------------------编程问答-------------------- .NET里应该叫做方法(Method) 不再称为函数了

方法和静态方法的区别 主要是是否需要实例化

静态方法在程序运行时 就已经实例化好了 不管多少用户并发 都一样处理

你得先明白一点 就是静态方法和静态变量的区别

静态变量的话 并发就不行了 得加锁排队

可静态方法只是一段代码 理论上并不占用运行内存 并不存在并发的问题

======

不管方法是否静态 只要方法中的变量有静态的 就得排队 要不两个线程同时连 变量就不对了

而静态方法只是一段代码 只不过你使用时不用先new过 底层来说还是一样是个方法 所以没有锁的问题
--------------------编程问答--------------------
引用 3 楼  的回复:
.NET里应该叫做方法(Method) 不再称为函数了

方法和静态方法的区别 主要是是否需要实例化

静态方法在程序运行时 就已经实例化好了 不管多少用户并发 都一样处理

你得先明白一点 就是静态方法和静态变量的区别

静态变量的话 并发就不行了 得加锁排队

可静态方法只是一段代码 理论上并不占用运行内存 并不存在并发的问题

======

不管方法是否静态 只……

+1 看来我理解的没什么问题!
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,