在C#中调用静态方法时会发生什么?

在C#中调用静态方法时会发生什么?,第1张

概述当创建一个类的实例时,该实例中的所有变量特定于该实例,并在实例超出范围时被杀死.但是如何在静态方法中工作?假设两个人完全同时调用System.Math.Abs​​().运行时间如何区分两个呼叫者?这是线程进来吗?是否为每个呼叫者自动创建单独的线程? 静态和非静态方法在方法变量生命周期方面没有真正的区别.在这两种情况下,作为实现细节,本地人通常(不太总是:有异常)分配在堆栈上.堆栈是每个线程,所以本 当创建一个类的实例时,该实例中的所有变量特定于该实例,并在实例超出范围时被杀死.但是如何在静态方法中工作?假设两个人完全同时调用System.Math.Abs​​().运行时间如何区分两个呼叫者?这是线程进来吗?是否为每个呼叫者自动创建单独的线程?解决方法 静态和非静态方法在方法变量生命周期方面没有真正的区别.在这两种情况下,作为实现细节,本地人通常(不太总是:有异常)分配在堆栈上.堆栈是每个线程,所以本地方法变量不会在线程之间交叉.

实例和静态之间的唯一区别是实例方法具有由调用者推送的一个隐含的第零参数(又称为“this”)(加上一些虚拟调度和空检查功能).

为了简单起见,我正在掩饰迭代器块,捕获的变量等.

总结

以上是内存溢出为你收集整理的在C#中调用静态方法时会发生什么?全部内容,希望文章能够帮你解决在C#中调用静态方法时会发生什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1235842.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存