Increment()
{
int i = getFromDb(); // get count for a customer from db
};
这是一个实例类,每当客户(即实例对象)进行购买时,它会被递增。这个变量是否线程安全?我听说局部变量是线程安全的,因为每个线程都有自己的堆栈等等。
此外,我想知道这个变量是否是共享状态?我的思维不足之处在于这个变量将与不同的客户对象(例如John、Paul等)一起使用,因此是线程安全的,但这种想法是有缺陷的,并且在并发编程方面缺乏经验。这听起来非常天真,但我在普通同步编码方面没有太多经验。
编辑:另外,函数调用getFromDb()不是问题的一部分,我不希望任何人猜测它的线程安全性,因为它只是一个调用,表示该值是从一个从数据库获取数据的函数中赋值而来的。 :)
编辑2:getFromDb的线程安全性得到了保证,因为它仅执行读操作。