Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 18422|Resposta: 1

[Fonte] C# aprende a usar threads Thread

[Copiar link]
Publicado em 27/03/2017 17:32:28 | | |

. .NET framework é uma biblioteca de classes em tempo de execução para C#, . .NET é um ambiente multithread. Uma thread é um único processo de controle sequencial em um processo. Um fio é uma entidade em um processo. Um processo pode ter múltiplas threads, e uma thread deve ter um processo pai.

     Threads geralmente possuem três estados básicos: leitura, bloqueio e operação. A partir dos três estados básicos, são derivadas cinco operações básicas de threads. Primeiro, derive, threads são derivados dentro de um processo. Em segundo lugar, agendar, selecionar um thread pronto para entrar no estado de operação. Terceiro, bloquear, se uma thread precisar esperar um evento ocorrer durante a execução, ela será bloqueada. Quarto, desbloquee, se o evento começar, a thread é desbloqueada, entrando na fila pronta. Quinto, terminar, a thread termina, e o contexto do registrador e o conteúdo da pilha executados são liberados.

     Uma nova thread é um objeto thread recém-gerado que ainda não alocou recursos. Portanto, você só pode usar os métodos start() ou close().

     O estado reutilizável é quando a thread recebe os recursos necessários para a thread após a execução do método start() e chama o método run() para executar.

     O estado Não Recuperável é um estado que entra quando ocorrem os seguintes eventos, o método suspend() é chamado, o método sleep() é chamado, a thread usa wait() para esperar a variável de condição, e a thread está esperando I/O.

    Morto é quando o método Run() retorna, ou outra thread chama o método stop(), e a thread entra no estado morto. Abaixo estão dois exemplos simples de Thread.


Resumo: Por que usar Thread (multi-threading)? Isso é para evitar bloquear a thread principal; se você precisa processar uma grande quantidade de dados ou chamar um método demorado, precisamos usar o multithreading Thread.

Exemplo:


Não usando multithreading: A interface não responde... É porque multithreading não está sendo usado




Anterior:Quem é o chefe imobiliário Wu Xuezhan por trás do "caso do insulto à mãe"?
Próximo:O BundleTable não carrega arquivos js e css com o mínimo
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com