【发布时间】:2009-03-24 22:05:13
【问题描述】:
如果我有这样的局部变量:
Increment()
{
int i = getFromDb(); // get count for a customer from db
};
这是一个递增的实例类(每次客户 - 实例对象 - 进行购买时),这个变量线程安全吗?我听说局部变量是线程安全的,因为每个线程都有自己的堆栈等。
另外,我认为这个变量是共享状态是否正确?我在思维部门缺乏的是,这个变量将与不同的客户对象(例如 John、Paul 等)一起工作,所以是线程安全的,但这是有缺陷的思维,并且在并发编程方面有点缺乏经验。这听起来很幼稚,但是我在并发编码方面没有很多经验,就像我一般做的同步编码。
编辑:另外,函数调用 getFromDb() 不是问题的一部分,我不希望任何人猜测它的线程安全性,因为它只是一个调用,表明值是从获取数据的函数分配的从分贝。 :)
编辑 2:此外,getFromDb 的线程安全得到保证,因为它只执行读取操作。
【问题讨论】:
标签: c#