Python obtiene ID de hilo

Python obtiene ID de hilo
Un entero que es positivo cuando se crea un hilo tiene el nombre de "ID de subproceso". Los métodos "get_indent ()" y "get_native_id ()" se pueden utilizar para adquirir el ID de subproceso. El método "get_native_id ()" devuelve una ID que está dada por el kernel y también es un valor entero. Mientras que los métodos "get_indent ()" devuelven una identificación distinta que es un número entero. Necesitamos importar el módulo de subproceso a Python para iniciar un hilo antes de poder encontrar las ID de subproceso.

Ejemplo 1: Utilización de subprocesos.método get_ident () en hilos de python.

El "hilo.El método get_ident () "se utilizará en este ejemplo para obtener la ID de subproceso en un script de Python. Primero debemos construir un hilo en el guión de Python para este. Los hilos de Python son un tipo de objeto de proceso que puede tener su ejecución planificada. Un hilo es un proceso computacional que una computadora llevará a cabo. El conjunto de instrucciones de un programa que se pueden realizar por separado de otras instrucciones es lo que es. Cuando se inicia un hilo, se genera un largo número positivo llamado ID de subproceso. El identificador de hilo es constante y único durante el ciclo de vida completo de un hilo. Siempre que el hilo finalice, se puede utilizar nuevamente. Además, cada hilo se reconoce. Cada hilo recibirá una identificación entera de Python. La función "get_ident ()" se puede utilizar para obtener esta información. El método "get_native_id ()" se puede utilizar para recuperar el entero distintivo que el sistema operativo proporciona a cada hilo.

Ahora comencemos a poner el código en práctica usando la herramienta "Spyder", que es mucho más fácil de usar y comprender para Python que otras herramientas como Visual Studio Code. Importamos el módulo de "subproceso" porque estamos construyendo un hilo en la primera línea de código. La segunda línea de código importa el módulo "tiempo", que proporciona una gama de formatos de codificación para el tiempo, incluidos elementos, números y cadenas. Además de la representación del tiempo, también proporciona capacidades como esperar mientras se ejecuta su script y evalúa la eficiencia de su guión.

Luego, dado que esta es una función definida por el usuario, somos libres de darle cualquier nombre que nos guste. Por lo tanto, creamos una función con el nombre "func" y usamos el "tiempo.función sleep () "para establecer un intervalo de tiempo de" 3 "segundos. Tan pronto como usamos la función "Sleep ()" y establecemos el tiempo, nuestro sistema toma un momento para ese período antes de ejecutar la declaración en la que aplicamos la función "Sleep ()". Después de eso, usamos la función "print ()", pasando "enhebrado.Get Ident () "para recuperar la ID del hilo y la cadena de entrada" Me encanta codificar "dentro de sus paréntesis. Ahora que hemos proporcionado el tiempo de "3" segundos en el "tiempo.Método Sleep () ", nuestro sistema dormirá durante" 3 "segundos antes de mostrar esta declaración y su identificación.

Ahora, vamos a crear un hilo y llamar a la función dentro de él usando "Hinging.Thread () "Dentro de él, pasamos el argumento" Target = func ", que significa llamar a la función dentro del hilo. Luego almacenamos este hilo en la variable "T1", que inicializamos, y lo comenzamos en la siguiente línea llamando a "T1.comenzar()".

Cuando ejecutamos el código, nuestro sistema se detiene durante tres segundos antes de mostrar la declaración de impresión, "Me encanta la codificación" y la identificación del hilo, "13116."Usamos" Hinging.get_ident () "arriba para obtener el ID de subproceso porque la ID del hilo debe ser un entero numérico positivo. Por lo tanto, puede estar seguro de que la identificación es un entero positivo al mirar la identificación del hilo.

Ahora, en la siguiente sección, estamos utilizando el mismo código y "enhebrar.Obtener ident () ",". Pero vamos a agregar un segundo hilo porque, en la sección anterior del código, solo había un hilo ahora, hay dos, y necesitamos encontrar sus IDS. Para hacer esto, al igual que en la sección anterior, primero importamos las dos bibliotecas "enhebrado" y "tiempo". Después de definir una función, usamos "Tiempo.dormir () "Pero esta vez establecemos el tiempo en" 1 "segundo. A continuación, llamamos a "imprimir ()" y pasar ".Get Ident () "para obtener los ID de subproceso, así como la declaración de entrada" me encanta la codificación."En este caso, también hicimos uso de la fuente de valor entero"%D ".

Ahora crearemos dos hilos y llamaremos a las funciones en cada hilo. El hilo 1 se almacenará en la variable "T1" y el hilo 2 se almacenará en la variable "T2". Luego llamaremos a la función "func" en el hilo 1 utilizando "enhebramiento.hilo, "aprobando" Target = func ", y repita el proceso para el hilo 2. Por último, usaremos la función "inicio ()" para iniciar ambos hilos.

El sistema detiene la operación por "1" segundo debido a "Sleep ()" cuando presionamos el botón Ejecutar para mostrar sus resultados en la pantalla. Luego muestra las ID de ambos hilos y la declaración: la identificación del primer hilo es "11436" y la identificación del segundo hilo es "11472".

Ejemplo 2: Uso de subprocesos.método get_native_id () en hilos de python.

En este ejemplo, la identificación del hilo se obtendrá utilizando el subproceso.get_native_id () técnica. Se utiliza para recuperar la identificación de hilos nativos que el núcleo ha asignado al hilo actual. El hilo activo de todo el sistema se identifica por este valor. El "hilo.get_native_id () "Método devuelto valores numéricos con un número distinto de cero para la ID.

Ahora, comencemos a implementar el código. Primero, importamos las dos bibliotecas de "enhebrar" y "tiempo."Entonces, definimos una función con el nombre" FUNC."A continuación, llamamos a la" hora.método sleep () "y configure el temporizador para" 2 "segundos. Luego, en la siguiente línea, llamamos a la función "print ()" y pasamos la declaración "Python es el lenguaje de programación de más rápido crecimiento". En la siguiente línea, utilizaremos "Hinging.thread () "para crear un hilo, y dentro de él, pasaremos" func "como un argumento para llamar a la función" func "dentro del hilo. Este hilo se mantiene en la variable "T1", y luego la ejecución del hilo se inicia llamando a "T1.comenzar()".

La "ID nativa" del hilo, que es "8580", se imprime en la salida junto con la declaración de entrada. Pero antes de que se mostrara, la ejecución de la declaración se detuvo durante dos segundos porque habíamos usado el "tiempo.función sleep () ”.

Ahora crearemos las dos funciones en la siguiente sección "frase1" y "frase2". El tiempo.El método Sleep () "se llama dentro de la función" frase1 "y el parámetro de tiempo se envía como" 1 "segundos. Luego, llamamos a la función "print ()" en la siguiente línea y dentro de ella llamamos el "enhebrado.get_native_id "y la instrucción de entrada. Para la segunda función, "frase2", repitemos el proceso pero omitimos el uso del "tiempo.función sleep () "para obtener el ID de subproceso que el kernel ha asignado y envía la instrucción de entrada.

Para el primer hilo, utilizamos "Hinging.hilo "y llamado la función pasando" frase1 "dentro de su paréntesis como argumento. Luego almacenamos este hilo en la variable "T1". Ahora crearemos dos hilos en el paso para el segundo hilo, repitimos el proceso, pero esta vez llamamos a la segunda función, "frase2", y almacenamos este hilo en "T2". Las ejecuciones de hilo se comenzaron a usar "Start ()" junto con "T1" y "T2".

Puede ver que imprime inmediatamente la identificación nativa del segundo hilo, que es "10636", junto con su declaración impresa. Luego, mostró la ID del hilo 1, que es "7400", porque cuando se llama a la función uno, establecemos el intervalo de tiempo durante "1" segundos, lo que hace que su ejecución se detenga por un segundo, por lo que avanza rápidamente la próxima ejecución.

Conclusión

Este artículo ha examinado diferentes enfoques para obtener una identificación de hilo en Python. El "hilo.método get_ident () "y el" enhebrado.El método get_native id () "se ha utilizado en los ejemplos. Ambos métodos devuelven la identificación única de los hilos, que deben ser valores de números no cerosos y reales. En el ejemplo, también utilizamos el "tiempo.método sleep () "para retrasar la ejecución de los subprocesos.