.net 中静态方法中的局部变量是不是线程安全的?

playcity 2008-12-14 04:02:21
如题。
...全文
211 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
LcngYexue 2011-10-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 gomoku 的回复:]

局部变量本身肯定是线程安全的,或者说它根本没有线程安全的问题。
局部变量分配在栈上,而栈是专属于线程的概念 - 每个线程都有它自己的栈。
[/Quote]

经典的无以复加!
playcity 2008-12-16
  • 打赏
  • 举报
回复
UP.
playcity 2008-12-16
  • 打赏
  • 举报
回复
UP.
zhnzzy 2008-12-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 gomoku 的回复:]
局部变量本身肯定是线程安全的,或者说它根本没有线程安全的问题。
局部变量分配在栈上,而栈是专属于线程的概念 - 每个线程都有它自己的栈。
[/Quote]
学个
gomoku 2008-12-16
  • 打赏
  • 举报
回复
局部变量本身肯定是线程安全的,或者说它根本没有线程安全的问题。
局部变量分配在栈上,而栈是专属于线程的概念 - 每个线程都有它自己的栈。
playcity 2008-12-16
  • 打赏
  • 举报
回复
如果这个局部变量 是只有独占才能访问的,比如给文件写信息。如果你在这里没有进行处理(比如有个信号量在这里)这个静态函数就是线程不安全的。

如果这个局部变量每次调用都在一个新的内存地址,应该不存在线程安全的问题,如果都在一个地址,应该有线程安全问题。
===========================================================
如public static string getpath(stirng username,string uploadbasepath)
{
username = username + "/";
uploadbasepath += "/";
return username + uploadbasepath;
}

如这段代码,是不是线程安全呢?

Fibona 2008-12-16
  • 打赏
  • 举报
回复
如果这个局部变量 是只有独占才能访问的,比如给文件写信息。如果你在这里没有进行处理(比如有个信号量在这里)这个静态函数就是线程不安全的。

如果这个局部变量每次调用都在一个新的内存地址,应该不存在线程安全的问题,如果都在一个地址,应该有线程安全问题。
烈火蜓蜻 2008-12-14
  • 打赏
  • 举报
回复
不是,安全是要你自己实现
烈火蜓蜻 2008-12-14
  • 打赏
  • 举报
回复
不是,安全是要你自己实现

110,533

社区成员

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

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

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