Recientemente tuve una pregunta de la entrevista en una prueba que fue similar a la de abajo, que no tienen mucha experiencia de desarrollo utilizando hilos por favor alguien puede ayudarme a asesorar a la forma de abordar esta cuestión ?:roscar pregunta de la prueba
public class StringQueue
{
private object _lockObject = new object();
private List<string> _items = new List<string>();
public bool IsEmpty()
{
lock (_lockObject)
return _items.Count == 0;
}
public void Enqueue(string item)
{
lock (_lockObject)
_items.Add(item);
}
public string Dequeue()
{
lock (_lockObject)
{
string result = _items[0];
_items.RemoveAt(0);
return result;
}
}
}
¿El siguiente método es seguro con la implementación anterior y por qué?
public string DequeueOrNull()
{
if (IsEmpty())
return null;
return Dequeue();
}
he etiquetado esta C# como parece. Por favor corrígeme si estoy equivocado. –