C# 如何处理多个线程同时调用一个方法

零-点 2013-09-02 10:23:49
在要求性能的前提下,如何处理多个线程同时调用一个方法,lock就免了,求更好的解决方法
...全文
3988 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
零-点 2013-09-03
  • 打赏
  • 举报
回复
可能是我没有表达清楚,已经解决
bbjiabcd 2013-09-03
  • 打赏
  • 举报
回复
多个线程调用同一个方法是没有问题的,方法中的局部变量是相互独立的,不会冲突。
  • 打赏
  • 举报
回复
例如我们的一个磁盘数据清理过程 --> 例如我们的一个服务器站群数据清理过程
  • 打赏
  • 举报
回复
多线程,通常是因为我们的CPU有空闲。例如我们的一个磁盘数据清理过程中有100次访问服务器去查询结果,然后才可能进行分析并最终在屏幕上显示结果,这时候我们就应该在好几十个线程中去进行不同的网络访问(同时也不占用主线程),让我们的CPU不会因为等待网卡响应而被闲置。 没听说“空洞地以多线程调用一个方法”就能提高性能的说法。
  • 打赏
  • 举报
回复
是的。1000个线程可以有1000个线程上下文环境,因此可以(针对同一段代码)有1000个过程并行地执行。 需要学点操作系统概念或者参考书,并且大致上能看懂。这样就能自己说明白“在要求性能的前提下”这个问题了。
threenewbee 2013-09-02
  • 打赏
  • 举报
回复
多线程本来就可以同时访问同一个方法。 只是需要对非栈上的共享变量的操作需要做同步。 你完全都没有概念。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧