Python Gets Thread ID

Python Gets Thread ID
Um número inteiro positivo quando um tópico é criado recebe o nome "ID do thread". Os métodos "get_indent ()" e "get_native_id ()" podem ser usados ​​para adquirir o ID do thread. O método "get_native_id ()" retorna um ID que é dado pelo kernel e também é um valor inteiro. Considerando que os métodos "get_indent ()" retornam um ID distinto que é um número inteiro. Precisamos importar o módulo de rosqueamento para o Python para iniciar um tópico antes de encontrarmos os IDs do thread.

Exemplo 1: Utilizando rosqueamento.Método get_ident () em threads python.

O “encadeamento.O método get_ident () ”será usado neste exemplo para obter o ID do thread em um script python. Devemos primeiro construir um tópico no script python para isso. Os threads python são um tipo de objeto de processo que pode ter sua execução planejada. Um tópico é um processo computacional que um computador realizará. O conjunto de instruções de um programa que pode ser executado separadamente de outras instruções é o que é isso. Quando um tópico é iniciado, um longo número positivo chamado ID do thread é gerado. O identificador de thread é constante e único durante o ciclo de vida completo de um tópico. Sempre que o tópico termina, ele pode ser utilizado novamente. Além disso, cada tópico é reconhecido. Cada fio receberá uma identificação inteira do Python. A função "get_ident ()" pode ser utilizada para obter esta informação. O método “get_native_id ()” pode ser utilizado para recuperar o número inteiro distintivo que o sistema operacional fornece a cada thread.

Vamos agora começar a colocar o código em prática usando a ferramenta “Spyder”, que é muito mais fácil de usar e compreender o Python do que outras ferramentas, como o Código do Visual Studio. Nós importamos o módulo "Threading" porque estamos construindo um segmento na primeira linha de código. A segunda linha de código importa o módulo "tempo", que fornece uma variedade de formatos de codificação para o tempo, incluindo itens, números e strings. Além da representação do tempo, ele também fornece recursos como esperar enquanto seu script está sendo executado e avaliando a eficiência do seu script.

Então, como essa é uma função definida pelo usuário, somos livres para dar qualquer nome que gostemos. Portanto, criamos uma função com o nome "func" e usamos o "tempo.Sleep () ”função para definir um intervalo de tempo de“ 3 ”segundos. Assim que usamos a função "Sleep ()" e definimos a hora, nosso sistema leva um momento para esse período antes de executar a declaração em que aplicamos a função "Sleep ()". Depois disso, usamos a função "print ()", passando "Threading.obtenha ident () ”para recuperar o ID do thread e a sequência de entrada“ Eu amo codificação ”dentro de seus parênteses. Agora que fornecemos o tempo de "3" segundos no "tempo.Método Sleep () ”, nosso sistema dormirá por“ 3 ”segundos antes de exibir esta declaração e seu ID.

Agora, vamos criar um tópico e chamar a função nele usando “Threading.Thread () ”dentro dele, passamos pelo argumento“ Target = Func ”, que significa chamar a função dentro do tópico. Em seguida, armazenamos esse tópico na variável "T1", que inicializamos e iniciamos na linha a seguir chamando "T1.começar()".

Quando executamos o código, nosso sistema é interrompido por três segundos antes de exibir a declaração de impressão, "Eu amo codificação" e o ID do thread, "13116.”Usamos“ Threading.get_ident () ”acima para obter o ID do thread porque o ID do thread deve ser um número inteiro numérico positivo. Então, você pode ter certeza de que o ID é um número inteiro positivo olhando para o ID do tópico.

Agora, na próxima seção, estamos usando o mesmo código e “Threading.obtenha ident (), ”. Mas vamos adicionar um segundo tópico porque, na seção anterior do código, havia apenas um tópico agora, há dois e precisamos encontrar seus IDs. Para fazer isso, assim como na seção acima, primeiro importamos as duas bibliotecas "Threading" e "Time". Depois de definir uma função, usamos “tempo.sono () ”Mas desta vez definimos o tempo para“ 1 ”segundo. Em seguida, chamamos de "print ()" e passamos "Threading.get ident () ”para obter os IDs do thread, bem como a declaração de entrada“ eu amo codificação.”Nesse caso, também fizemos uso da fonte de valor inteiro“%d ”.

Agora criaremos dois tópicos e chamaremos as funções em cada tópico. O thread 1 será armazenado na variável "T1" e o thread 2 será armazenado na variável "T2". Vamos então chamar a função de "func" no thread 1 usando "Threading.Thread ", passando" Target = func "e repita o processo do Thread 2. Por fim, usaremos a função "start ()" para iniciar os dois threads.

O sistema interrompe a operação por "1" segundo devido a "Sleep ()" quando pressionamos o botão Executar para exibir seus resultados na tela. Em seguida, exibe os IDs de ambos os threads e a afirmação: o primeiro ID do thread é "11436" e o segundo ID do thread é "11472".

Exemplo 2: Usando a Threading.Método get_native_id () em threads python.

Neste exemplo, o ID do thread será obtido usando o encadeamento.técnica get_native_id (). É usado para recuperar o ID dos threads nativos que o kernel alocou para o tópico atual. O fio ativo em todo o sistema é identificado por este valor. O “encadeamento.get_native_id () ”o método retornou valores numéricos com um número diferente de zero para o ID.

Agora, vamos começar a implementar o código. Primeiro, importamos as duas bibliotecas "Threading" e "Time.”Então, definimos uma função com o nome“ Func.“Em seguida, chamamos o“ horário.Método Sleep () ”e defina o timer por“ 2 ”segundos. Então, na linha a seguir, chamamos a função "print ()" e passamos a declaração "Python é a linguagem de programação que mais cresce". Na linha seguinte, usaremos “Threading.Thread () ”Para criar um tópico e, dentro dele, passaremos“ Func ”como um argumento para chamar a função de“ func ”dentro do tópico. Este tópico é mantido na variável "T1" e, em seguida, a execução do thread é iniciada chamando "T1.começar()".

O "ID nativo" do thread, que é "8580", é impresso na saída junto com a declaração de entrada. Mas antes de ser exibido, a execução da declaração foi interrompida por dois segundos porque usamos o “tempo.Sleep () ”função.

Agora criaremos as duas funções na próxima seção "Phrase1" e "Phrase2". A Hora.O método Sleep () ”é chamado dentro da função“ Phrase1 ”e o parâmetro de tempo é enviado como“ 1 ”segundos. Em seguida, chamamos a função "print ()" na linha a seguir e, dentro dela, chamamos de "Threading.get_native_id ”e a declaração de entrada. Para a segunda função, "phrase2", repetimos o processo, mas ignoramos o uso do "tempo.Sleep () ”função para obter o ID do thread que o kernel atribuiu e envia a instrução de entrada.

Para o primeiro tópico, usamos “Threading.Thread ”e chamou a função passando“ Phrase1 ”dentro de seus parênteses como seu argumento. Em seguida, armazenamos este tópico na variável "T1". Agora criaremos dois threads na etapa do segundo tópico, repetimos o processo, mas desta vez chamamos a segunda função, "Phrase2" e armazenamos esse tópico em "T2". As execuções de threads foram então iniciadas usando "start ()" junto com "T1" e "T2".

Você pode ver que ele imprime imediatamente o ID nativo do segundo tópico, que é "10636", juntamente com sua declaração impressa. Em seguida, ele exibiu o ID do Thread 1, que é "7400", porque quando a função um é chamada, definimos o intervalo de tempo para "1" segundos, o que faz com que sua execução pare por um segundo, para que rapidamente se move para a próxima execução.

Conclusão

Este artigo examinou diferentes abordagens para obter um ID do tópico em Python. O “encadeamento.get_ident () "Método e o" Threading.O método get_native id () ”foi utilizado nos exemplos. Ambos os métodos retornam a identificação exclusiva dos threads, que devem ser valores diferentes de zero e números reais. No exemplo, também utilizamos o “tempo.Sleep () ”Método para adiar a execução dos threads.