Em C Sharp, usamos thread para realizar tarefas diferentes no sistema operacional. Esses tópicos podem executar muitas funções, dependendo da tarefa que atribuímos. Cada tarefa é realizada dependendo da base prioritária. De cada vez, mais de um tópico está processando, tornando o processador multithreaded. Portanto, ao priorizar as tarefas no multithreading, usamos um método que suspende um tópico temporariamente por algum tempo, deixando -o descansar por um tempo, de modo que, naquele tempo, outros tópicos tenham a chance de executar primeiro.
Depois disso, aqueles tópicos suspensos realizaram o processo. Isso é feito através de um método de sono. Em C Sharp, o método do sono apreende a execução atual do thread para milissegundos especificados no programa. Um método de sono () pode ser usado de duas maneiras.
Este guia usará os dois métodos para explicar o conceito de função Sleep () no encadeamento usando C Sharp no sistema operacional Linux.
Sintaxe
# sono estático público (int milissegundos);A variável de tipo int para milissegundos contém um número em milissegundos para suspender o thread para esse tempo especificado.
Ao inicializar o tempo em milissegundos como um parâmetro para a função do sono, se o valor do argumento do milissegundo for zero, o tópico chamará outro processo com a prioridade igual que está pronta para ser executada. Se nenhum outro tópico tiver a mesma prioridade, a execução do primeiro tópico não será cessada e continua a executar.
Exemplo 1: Função do sono com milissegundos
Como sabemos, o método do sono está preocupado com o processo de leitura multithy. Os threads são uma parte importante do nosso sistema operacional que carrega muitas funções de cada vez, realizando multitarefa. Como descrito acima, a função de sono ajuda a priorizar a tarefa, dando um pouco de descanso a um tópico no multithreading. O mesmo conceito será realizado neste exemplo. Para continuar com o exemplo, primeiro explicaremos o uso das bibliotecas. A biblioteca do sistema é para as classes, objetos e outros tipos de contêineres. Enquanto o sistema.A rosca é uma biblioteca adicional que será incluída especificamente para o processo de encadeamento.
# Usando o sistema;Duas funções são declaradas aqui com Thread1 () e Thread2 (). Ambas as funções não são estáticas. Isso significa que eles não são herdados ou não podem ser usados em nenhuma outra classe. Em outras palavras, ambas as funções são independentes. Dentro da primeira função, Thread1 (), usamos um loop para itera apenas duas vezes e exibirá a mensagem de que o Thread1 está funcionando. Dentro do loop, o método Sleep () é usado. Isso é usado para pausar o funcionamento do tópico por algum tempo. Nós declaramos essa função em 4 segundos.
Então, usando o método do sono, o trabalho do fio será apreendido por 4 segundos.
# Fio.Sono (4000);Este método de thread é acessado através do próprio thread.
Da mesma forma, outra função é declarada, que é um thread (). Isso também contém um loop 'para' para que também possa iterar duas vezes, e cada vez que exibe a mensagem de que o Thread2 está funcionando. Este método também é um método não estático. Lá não usaremos a função de sono dentro do loop.
Após os dois métodos, declararemos o programa principal. Como os threads em C Sharp são declarados na classe, é obrigatório criar a instância do tópico. Essa instância do objeto será usada na criação dos threads além disso. O nome da classe será mencionado junto.
# ExemploofthRead obj = novo exemplofThread ();O mythread do método será criado. Usaremos este objeto para criar os threads e depois inicializá -los.
Ao usar duas declarações anexadas, os objetos para os threads são criados. Depois disso, iniciaremos os tópicos usando os objetos Thr1 e Thr2.
# Thr1.começar();Agora salve o arquivo. E usaremos um compilador para compilar o código -fonte acima. Este é o MCS usado para a compilação em C Sharp. Além disso, após a compilação, a execução do código ocorre. Mono é usado para executar o código com o .exe extensão do arquivo, tornando -o executável.
Arquivo de $ mcs.csNa execução do código, você pode ver que o primeiro e o segundo threads são executados e o primeiro tópico é executado mais tarde, enquanto o objeto do primeiro tópico é criado antes do segundo. E o primeiro tópico começa primeiro em vez do segundo tópico. Isto é por causa da função de sono que usamos no primeiro copo de thread.
Este programa funcionará para que, quando o primeiro tópico for chamado para iniciar, a função de sono for inicializada e o tópico passa a dormir por 4 segundos. O segundo tópico é executado e exibe a declaração 2 vezes de acordo com o loop. Durante esse período, a função de sono completou seu tempo de 4 segundos. Então agora ele será processado e exibirá a declaração duas vezes.
Exemplo 2: Função do sono usando timespan
Este exemplo usa uma opção de tempo de alguns segundos. Cada declaração dentro da função do encadeamento será executada com uma lacuna a tempo do período especificado. Isso nos mostra que o tópico está dormindo por um período específico. Vamos ver esse conceito demonstrando um exemplo. Dentro da classe, no programa principal, primeiro declararemos o valor do tempo limite na variável. Este valor é declarado dinamicamente usando o operador 'novo'. O tempo de palavra -chave mostra que a variável de tempo limite é do tipo de tempo.
# Timespan timeout = new timespan (0, 0, 3);Usaremos um loop for para iterar até que a iteração atinja a 3ª vez. O loop exibirá a mensagem de que o tópico está dormindo por 3 segundos. Dentro do loop for, usaremos o método de sono de tempo. Este método será chamado através do encadeamento e conterá o timepan como o parâmetro.
# Fio.sono (tempo limite);Uma declaração de console exibirá a mensagem de que o tópico principal sai fora do loop.
Quando executarmos o código, a mensagem pela primeira vez será exibida. Então haverá uma pausa de 3 segundos; Então, novamente, outra linha é exibida. Da mesma forma, esta linha é exibida após 3 segundos passaram.
Enquanto a última linha é declarada fora do corpo do loop, o fio principal aparecerá abruptamente após a terceira linha. Não usamos o método de tempo de sono para esta última linha.
Conclusão
O método Sleep () em C Sharp é usado para interromper o processo por alguns segundos ou para fazer o processo executar após uma pausa especificada. Essa suspensão de execução por alguns segundos é boa para o trabalho de threads no sistema operacional, pois faz com que um tópico espere e repousa por algum tempo para trabalhar mais tarde. Em segundo lugar, dá uma chance aos outros tópicos para serem executados neste intervalo de tempo. Este método de sono é eficaz para usar enquanto a CPU é multitarefa. Ambos os métodos para a função do sono são usados através dos milissegundos e através do tempo.