В MSDN некоторые.NET-классы описываются следующим образом:
" Этот тип является потокобезопасным ".
или
" Публичные статические (Shared in Visual Basic) члены этого типа являются потокобезопасными. Члены экземпляра не гарантируются потокобезопасностью".
Мой вопрос в том, какие функции делают класс для потокобезопасности?
-
Существуют ли какие-либо стандарты, рекомендации или рекомендации по программированию по обеспечению безопасности потоков?
-
Когда я использую ключевое слово lock (С#), это означает, что мой класс является потокобезопасным или нет?
-
Как оценивать потокобезопасность класса? Есть ли какие-либо тесты, чтобы убедиться, что класс на 100% потокобезопасен?
Пример:
public class MyClass
{
public void Method()
{
lock (this)
{
// Now, is my class 100% thread-safe like Microsoft classes?
}
}
type m_member1;
type m_member2;
}
благодаря