Compreender geradores em Python

Eu estou lendo o livro de receitas do Python no momento e estou olhando atualmente para geradores. Eu estou achando difícil dar uma olhada.

Como eu venho de um fundo Java, existe um equivalente Java? O livro estava falando sobre 'Produtor / Consumidor', no entanto, quando ouço que penso em threading.

O que é um gerador e por que você o usaria? Sem citar qualquer livro, obviamente (a menos que você possa encontrar uma resposta decente e simplista direto de um livro). Talvez com exemplos, se você está se sentindo generoso!

questionAnswers(11)

yourAnswerToTheQuestion