C #: Wie kann ich einen IEnumerable <T> Thread sicher machen?

Angenommen, ich habe diese einfache Methode:

public IEnumerable<uint> GetNumbers()
{
    uint n = 0;
    while(n < 100)
        yield return n++;
}

Wie würden Sie diesen Thread sicher machen? Und damit meine ich, dass Sie diesen Enumerator einmal bekommen und mehrere Threads alle Zahlen behandeln, ohne dass jemand Duplikate bekommt.

Ich nehme an, dass eine Sperre irgendwo verwendet werden muss, aber wo muss diese Sperre sein, damit ein Iteratorblock threadsicher ist? Woran müssen Sie sich im Allgemeinen erinnern, wenn Sie einen Thread sicher möchten?IEnumerable<T>? Oder besser gesagt, ich denke, es wäre ein Thread sicherIEnumerator<T>...?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage