exemplo: internet explorer ou firefox e outro modo facil de perceber threads. Quando abre o navegador foi executado um processo mas dentro desse processo voce pode abrir varias abas que mesmo assim vai continuar com um processo,ou seja, as abas sao threads.PeculiaridadesCada linha de execucao tem o mesmo contexto de software e compartilha o mesmo espaco de memoria (enderecado a um mesmo processo pai), porem o contexto de hardware e diferente. Sendo assim o overhead causado pelo escalonamento de linha de execucao e muito menor do que o escalonamento de processos, entretanto, nao ha acesso protegido a memoria nativamente (sua implementacao fica a cargo do programador) devido ao compartilhamento do espaco de memoria.Um beneficio do uso das linhas de execucao advem do fato do processo poder ser dividido em mais de uma linha de tarefas; quando uma linha esta esperando determinado dispositivo de E/S ou qualquer outro recurso do sistema, o processo como um todo nao fica parado, pois quando uma linha de execucao entra no estado de bloqueio uma outra thread aguarda na fila de prontos para executar.Uma linha de execucao possui um conjunto de comportamentos padrao, normalmente encontrados em qualquer implementacao ou sistema operacional.Uma linha de execucao pode: criar outra da mesma forma que um processo, tal advento e conhecido como thread-create, onde a thread retorna um ID ao primeiro como primeiro argumento, como resultado da funcao de criacao. esperar outra para se "juntar" (sincronizar), tal advento e conhecido como join. voluntariamente "desistir" da CPU, por nao ser preciso mais o processamento proposto por ela ou pela vontade do usuario, tal advento e conhecido como thread-yield. replicar-se sem a necessidade de duplicar todo o processo, economizando assim memoria, processamento da CPU e aproveitando o contexto (variaveis, descritores, dispositivos de E/S).Estados de uma linha de execucaoBasicamente uma linha de execucao pode assumir os seguintes estados: criacao. Neste estado, o processo pai esta criando a thread que e levada a fila de prontos; execucao. Neste estado a linha de execucao esta usando a CPU; pronto. Neste estado a linha de execucao avisa a CPU que pode entrar no estado de execucao e entra na fila de prontos; bloqueado. Neste estado, por algum motivo, a CPU bloqueia a linha de execucao, geralmente enquanto aguarda algum dispositivo de E/S; termino. Neste estado sao desativados os contextos de hardware e a pilha e deslocada.multithread Varios fluxos em execucoes(varias threads), associado a um unico processo. Processo pode se dividir em duas ou mais tarefas, que podem ser executadas simultaneamente (programacao concorrente).CriacaoBasicamente uma linha de execucao pode dividir uma linha de execucao em duas, depois estas linhas(threads) executam simultaneamente, a thread criadora e a thread pai e a thread criada e a thread filho. Threads incluidas na funcao main quando executadas pode criar threads filho no diagrama a seguir a thread A executa inicialmente. Mais tarde e criada a thread B indicada no ponto amarelo. Depois de criadas, a thread A e thread B executam simultaneamente. Em seguida a thread A pode criar uma ou mais threads (thread C). Depois de criada a thread C, ha tres