Por que não há coleções simultâneas em c #?

Eu estou tentando obter uma visão geral da teoria de segurança de thread por trás das coleções em c #.

Por que não há coleções simultâneas como existem em Java? (docs java). Algumas coleções parecem thread-safe, mas não está claro para mim qual é a posição, por exemplo, em relação a:

operações compostas,segurança de usar iteradores,operações de gravação

Eu não quero reinventar a roda! (Eu não sou um guru multi-threading e definitivamente não estou subestimando o quão difícil isso seria de qualquer maneira).

Espero que a comunidade possa ajudar.

questionAnswers(3)

yourAnswerToTheQuestion