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

在多线程中 调用方法 小问题

1、在多线程中调用静态方法需要加锁吗?
2、如果调用某一类的公共方法,不涉及到全局变量,需要加锁吗?

多线程中调用方法时,是不是将整个方法的代码加载到内存,每调用一次加载一次吗? 还是共用? --------------------编程问答-------------------- 调用静态方法是要枷锁的
如果不加那么到底给谁用啊? --------------------编程问答-------------------- 如果是静态方法,那么是提前就创建好的 --------------------编程问答-------------------- 静态方法一般不会出现多线程的冲突
多线程式针对同步完成多项任务。不管其它的事情了
--------------------编程问答-------------------- 只要不涉及静态变量或者线程共用的变量,都不用加锁。 --------------------编程问答-------------------- 静态方法是线程安全的,但是静态方法中的静态变量是线程不安全的!
所以静态方法或者类的公共方法中没有涉及静态或全局变量的,一般不需要加锁

另外,方法其实在类生成的时候,会在元数据中生成一个列表,调用的时候是一个指针(CLR中还是大量使用了指针),特定实例的方法多次调用其实只在创建实例是生成一次。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,