Componentes, abstrações e threads

Qual a definição de componentes ? de abstrações ? de threads ?
São palavras que sempre leio por aí mas quando pesquiso elas no Google obtenho 500 definições diferentes. :evil:
Em Java quais são as melhores definições para cada uma ? Tanks

Vai conseguir outras 500 definicoes aqui… eheheheh

Vou tentar expressar em poucas palavras minha visão:

Componentes: Mini-programas fechados que vc usa dentro do seu programa… Geralmente possuem uma interface (se foi bem feito) de onde vc controla o comportamento desse componente… Exemplo classico de componente… um Input para textos, vc nao conhece o comportamento interno dele… mas tem alguns métodos para sua manipulacao…
O nível de componentizacao costuma ser um assunto com várias opnioes… para alguns determinada coisa é um componente… para outros nao

Abstrações: Para mim é entender a raiz do problema em questão… eliminando problemas secundários… Pode também ser entendido que uma biblioteca abstrai determinado problema, nesse caso o que se quer dizer é que a biblioteca “resolve” determinado problema apresentando de uma forma mais simples e menos burocratica a situacao para quem for utilizar a biblioteca

Threads: Processos… várias linhas de execução…

Sao termos meio difíceis de se definir… são meio “abstratos”… heheheh