在.NET中,我如何知道一个类或方法是否是线程安全的?默认情况下它不是线程安全的吗?
发布于 2009-03-18 13:09:28
这不是这个属性:您必须阅读您感兴趣的每个项目的文档。你不能仅仅通过给它添加一个属性来使它成为线程安全的。这就好比拿起一个桔子,贴上一张贴纸,上面写着“苹果”。
当然,同样的事情也适用于序列化,它并没有停止它们,但仍然:没有属性。阅读文档。
发布于 2013-04-09 22:13:42
不,这是毫无意义的。
假设我有一个线程安全列表,它有三个线程安全™方法:
void Add( something);
void Remove(index);
int GetCount();
something GetElementAt(index);线程一:
for 1 to 100 do
list.Add(12);Thread two和three
while( list.GetCount() >0)
{
list.Remove(0);
}上面的代码迟早会崩溃,因为在调用GetCount和Remove之间,列表可能会发生变化
发布于 2009-03-18 13:11:13
在这一点上,我得到了Joel Coehoorn的支持,很容易‘伪造’这样的说法。
为什么不在函数描述中添加threadsafe文本
https://stackoverflow.com/questions/658167
复制相似问题