MS Word usa muitos threads, um para formatação textual, outro para processar entradas e assim por diante. Neste artigo, informaremos sobre o uso da função Pthread_create 3 C para criar um thread usando o sistema Kali Linux. Vamos começar dentro da concha de Kali Linux agora. Precisamos criar um novo arquivo C no qual criaremos um programa C para threads. Então, podemos estar usando a instrução de toque para criar com o título "Criar thread" e ".Extensão C ”no final. O arquivo foi criado com sucesso conforme a lista de instruções "LS" e mostra o conteúdo de um diretório de trabalho atual.
Para abrir este arquivo em um editor do VIM para criar código, usamos a instrução "vim", como mostrado abaixo. O comando deve conter o nome completo de um arquivo junto com a palavra -chave "vim". O editor VIM vazio abrirá seu arquivo C com sucesso.
Exemplo 01
É hora de criar um exemplo para a função pthread_create para criar um novo thread dentro do script c. Para isso, iniciaremos nosso código C com as principais bibliotecas padrão incluídas na palavra -chave "#include". Para fluxo padrão de entrada e saída dentro do programa, precisamos do “stdio.biblioteca H ”junto com o“ stdlib.h "e" unistd.Biblioteca H ”.
Junto com isso, estamos usando o “pThread.Biblioteca H ”de C para fazer uso de funções de threads em nosso código C. Sem esta biblioteca, o uso de funções de pTHread pode causar erros. Inicializamos uma variável global "global" e atribuímos um valor "0" no início do código após os cabeçalhos. Esta variável será utilizada no restante do código.
Vamos começar com a explicação deste código com a função principal () deste código. O encadeamento principal está declarando uma variável "var" e "ThreadID" para o thread usando a palavra -chave "pthread_t.”O loop“ for ”de 5 iterações foi usado para criar um tópico 5 vezes com o uso da função“ pthread_create ”. Estamos passando uma variável "ThreadID" para contar o número do thread e passá -lo uma função de thread "func" dentro dela com o mesmo ponteiro variável "ThreadID".
Após a criação de 5 threads usando o loop "for", estaremos fora do loop, e a função "pthread_exit" será usada para sair das execuções do thread e encerrar o programa. Agora, vamos dar uma olhada na função do ponteiro do thread "func", pegando thread "id" do método main () para se tocar de acordo. O argumento "id" passado pelo principal () seria salvo no ponteiro "ThreadId" do tipo inteiro. Uma variável inteira estática “VAR” é inicializada para 0, e estamos pós -incrementando o valor das variáveis “VAR” e “Global.”
Devido ao pós-incremento, o valor seria incrementado primeiro, eu.e., "ID", e depois salvo para a variável. A instrução printf está aqui para exibir o ID do thread, o valor da variável estática e o valor da variável global por vez. Os valores para threads seriam 2, 4, 6, 8 e 10. Vamos apenas salvar nosso código e ver o que acontece após a compilação.
Em primeiro lugar, estaremos compilando esse código C com o compilador "GCC", juntamente com o comando "-lpThread" para a função Linux Thread contendo a opção "-o" para criar o arquivo de execução "CreateThread.fora ”, como mostrado abaixo. O arquivo foi compilado e criado com sucesso.
Vamos executar o arquivo de execução sem erros compilado com o “./”Comando como mostrado abaixo. As saídas de 5 encadeamentos estão exibindo o ID do encadeamento, o valor da variável estática e o valor variável global com o incremento de 2.
Exemplo 02
Dentro deste exemplo, usaremos o mesmo formato de código. A partir do método Main (), criamos duas variáveis inteiras e uma variável "Thread_id" com a palavra -chave "pthread_t". A variável "ThreadID" tem recebido informações de um método Main () usando a função "pthread_self ()" e passando -a para a função "func" que foi usada para criar um novo thread através da função "pthread_create ()". Qualquer que seja o tópico recém -criado retornará para a variável "CreateReturn" e verificada na instrução "se". Se ocorrer algum erro, ele usará a instrução printf para exibir isso e o programa será encerrado. Caso contrário, após a criação de um tópico, o programa dorme por 1 segundo e usa a instrução printf para exibir que o tópico foi criado com sucesso.
Depois disso, o programa será encerrado. A função Func () Thread exibirá suas informações de thread usando a função pthread_self () e os dados da função principal () passada por argumento, como mostrado usando a função printf.
Compilamos este arquivo e criamos um arquivo de código -fonte de execução com a instrução "GCC".
Após a execução, obtemos o ID de informações da função func () e o thread main () também.
Cada vez, a execução deste programa gera dados diferentes para ambos os threads.
Conclusão
Os threads são uma abordagem comum para promover a sincronicidade em aplicações. Os tópicos são mais rápidos que as tarefas para uma variedade de fatores, eu.e., A geração de threads é muito mais rápida, a troca de contexto entre os threads parece ser muito mais rápida, a terminação do encadeamento é muito mais fácil e a interação do thread é significativamente mais rápida. Neste artigo, discutimos o uso da função pthread_create junto com algumas outras funções de thread para exibir que. Esperamos que você goste.