‫Bienvenido de nuevo y la última palabra.
‫Viste cómo usar las amenazas y cómo configurarlas y simplemente iniciarlas.
‫Y en este video, vamos a echar un vistazo a la finalización.
‫Entonces queremos usar un hilo para hacer algo.
‫Y solo si se realiza una tarea específica, entonces queremos seguir adelante.
‫Así que echemos un vistazo a eso.
‫Crearé una nueva variable llamada Task Completion Source y, por lo tanto, necesito una nueva tarea, una fuente de
‫finalización y un booleano.
‫Entonces, como puede ver, se queja porque no sabe cuál es esta fuente de finalización de tareas.
‫Y para solucionarlo, necesito usar tareas de subprocesamiento del sistema.
‫Así que voy a hacer eso por un segundo y luego escucharé que lo que voy a hacer a continuación es crear una
‫variable de prueba.
‫Solo voy a llamar a una tarea, que es una fuente de finalización de tareas, o simplemente llamamos a esta fuente de finalización
‫de tareas.
‫Y dijimos que es tarea de los resultados.
‫Entonces queremos tener el resultado de esa tarea.
‫Entonces, digamos que hubo una tarea específica que debería ejecutarse y hacer algo y luego queremos ver los
‫resultados.
‫Entonces, si funcionó o no funcionó y para probar eso, me voy a deshacer de esta línea roja aquí.
‫Así que voy a ejecutar el código como si no hubiera nada más en este método principal, solo este código aquí.
‫Así que lo voy a ejecutar.
‫Y como puede ver, no pasa nada.
‫Entonces la consola se mantiene viva o abierta, aunque no tengamos esta línea roja de consola,
‫que solemos usar siempre si queremos mantener la consola abierta, eso significa que hay algo que no está terminado.
‫Entonces esto aquí nunca se termina realmente porque no hay resultados.
‫Entonces, esta fuente de finalización nunca está realmente completa.
‫Entonces nunca se establece en verdad.
‫Y eso es algo que podemos hacer manualmente.
‫Entonces, digamos que tenemos una tarea y queremos tener el resultado como lo tenemos aquí, pero en realidad queremos terminar la
‫tarea en un punto.
‫Entonces, qué tenemos que hacer para eso es crear un hilo.
‫Así que voy a crear un
‫hilo más grande que sea igual a un hilo nuevo, y ese hilo no se iniciará de inmediato.
‫Así que estoy usando un enfoque un poco diferente al que usamos aquí.
‫Así que aquí dijimos nuevo hilo y luego teníamos el cuerpo del hilo.
‫Entonces, el código que debe ejecutarse cada vez que se inicia este hilo y lo iniciamos de inmediato,
‫lo comenzamos de inmediato.
‫Pero aquí solo creamos el hilo y podemos hacer cosas con él más adelante.
‫Así que aquí solo voy a decir hilo de dormir.
‫Así que duerma, digamos, 1000 milisegundos y luego intente establecer esa fuente de finalización de la
‫tarea en verdadero.
‫Así que intente establecer el resultado que hará es intentar hacer la transición de la tarea subyacente a las tareas que se ejecutan hasta el
‫estado de finalización, lo que significa que está hecho.
‫Derecha.
‫Así que va a intentar decir que está hecho de verdad.
‫Eso significa que esta fuente de finalización de la tarea se establecerá en verdadero y solo entonces llegaremos tan lejos,
‫que es el resultado de esa tarea.
‫Entonces, creemos un pequeño paso aquí, Dybbuk Step y la verificación, las ID de amenaza, y ahora, para iniciar una
‫amenaza, en realidad necesitamos llamar al hilo que comienza.
‫Y como puede ver, este objeto de hilo aquí, que es un hilo que hará todo eso, se va a
‫iniciar.
‫Entonces voy a comenzar un hilo como este.
‫Y ya que estamos en eso, echemos un vistazo a lo que ofrece el hilo.
‫Entonces, cada vez que crea un objeto de hilo, hay múltiples propiedades y métodos para usar o podemos usar
‫varios aquí.
‫Entonces puede ver que un tablero es uno en el que puede abortar el hilo para que pueda detener el hilo, pero eso
‫ejecutará una excepción o causará una excepción.
‫Así que eso es muy peligroso de hacer en realidad.
‫Para que pueda bloquear su aplicación con eso en función de qué tan seguro tengamos, compílelo.
‫Pero un tablero es algo que puedes, por supuesto, usar para detener un hilo, pero nunca sabes qué tan lejos
‫está y su ejecución.
‫Por lo tanto, puede suceder que no lo haga bien en las tareas que deseaba realizar.
‫Y eso le costará, bueno, que su problema no funcione correctamente.
‫Y luego, por supuesto, hay muchos otros métodos que son bastante interesantes, como propiedades de palabras como esta que están vivas,
‫lo que significa que esta amenaza está actualmente viva y luego su fondo, lo que significa que podemos decir que
‫un hilo debe ejecutarse en segundo plano y Podemos verificar con esta propiedad, si está en segundo plano
‫o no, es una amenaza de grupo de amenazas.
‫Eso es algo que veremos más adelante.
‫Entonces, ¿qué es un grupo de amenazas?
‫Eso es lo que veremos más adelante y así sucesivamente.
‫Entonces, el ID de amenaza de Menaged es algo bastante interesante, que nos informará sobre la idea de la
‫amenaza que estamos ejecutando actualmente.
‫Así que usemos eso.
‫Imprimamos eso en la consola.
‫Entonces, CW y yo usaremos el hilo no como este.
‫Entonces usa el signo de dólar y luego tiene el número de amenaza o ID de amenaza para que pueda llamarlo.
‫Y luego, entre corchetes, solía enhebrar el ID de menaged así.
‫Hilo administrado por subprocesos, Edem y, por supuesto, debe cerrar una cadena.
‫Muy bien, ahora probémoslo.
‫Ejecutemos el código.
‫Y tenemos nuestra principal amenaza, y hasta ahora tenemos algo en la consola, como puede ver, el número
‫de amenaza es tres.
‫Entonces, el número de esta amenaza que tenemos aquí que hemos creado nosotros mismos es en realidad tres.
‫Y la principal amenaza de su identificación administrada es una.
‫Entonces, como puede ver, los números en realidad no tienen que estar de la manera que esperaría.
‫Entonces, aunque no hemos creado nuestra propia amenaza adicional aquí, va de uno a tres.
‫Por lo tanto, tiene que haber otras amenazas en ejecución que no vemos aquí.
‫Está bien.
‫Y, por cierto, si desea ver si el hilo ha comenzado y finalizado, puede hacer lo siguiente.
‫Así que vamos a cortar eso aquí y ponerlo en esta línea aquí y, de hecho, digamos que comenzó.
‫Y aquí no podemos usar hilo porque hilo es este hilo que creamos aquí.
‫Pero si queremos usarlo aquí dentro del cuerpo del hilo y necesitamos usar el hilo actual del punto del
‫hilo.
‫Entonces, si hacemos eso ahora, tendremos el hilo en el que estamos actualmente, que es exactamente eso.
‫Y aquí decimos que comenzó y después de que esté hecho, decimos que terminó y ahora lo ejecutamos.
‫Para ejecutar el código y como puede ver, no se muestra nada en la consola.
‫Vayamos al siguiente paso.
‫Y luego comenzó y terminó, así que sucedió bastante rápido, pero como pueden ver, hay que darle un poco
‫más de tiempo.
‫Cambiémoslo a cinco segundos.
‫Y también eliminemos este punto Dybbuk aquí y ejecutémoslo.
‫Entonces la amenaza número tres comenzó y luego tomó un tiempo y terminó.
‫Entonces ahora ves que esta línea de código se ejecuta correctamente y simplemente detiene nuestra consola.
‫Así que hagamos que la consola lea una línea para mantener la consola abierta.
‫Así que la amenaza número tres comenzó y luego cinco segundos más tarde debería terminar para que terminemos la amenaza
‫número tres.
‫Ahora, digamos que queremos ver si la tarea realmente funcionó, así que si funcionó para establecerla como verdadera o
‫no.
‫Bueno, lo sabemos porque de lo contrario no pasaríamos al siguiente paso.
‫Pero usemos la línea derecha de la consola aquí.
‫La tarea estaba hecha.
‫Y aquí simplemente escribe el resultado, que será de prueba.
‫Entonces, la prueba es solo un toro, como puede ver aquí, porque funcionó o no funcionó, por lo que el resultado
‫es verdadero o falso.
‫Así que echémosle un vistazo.
‫Y ahora tenemos que esperar cinco segundos.
‫El número tres comenzó cinco segundos y luego terminó el número tres y dice que la tarea se completó es igual a
‫verdadero.
‫Entonces eso es lo que está sucediendo aquí con esta línea.
‫Entonces simplemente dice que está hecho con esta tarea específica.
‫Muy bien, entonces en este video, viste cómo puedes usar la fuente de finalización de
‫tareas, que indica si una tarea está hecha o no, puedes enviársela a Drew o simplemente puede hacer algo y terminarse
‫después de un tiempo también para que puede crear un hilo de una manera diferente, por lo que realmente
‫puede crear una variable de hilo, que luego debe iniciar, por supuesto, y puede simplemente usar como un objeto del hilo de la
‫clase.
‫Y luego vimos cómo podemos usar el hilo I. D. entonces conocemos la idea de esa amenaza específica.
‫Y eso es algo que veremos un poco más en el siguiente
‫video, donde creamos múltiples hilos al mismo tiempo y veremos cómo lo manejará nuestra máquina.
‫Así que nos vemos en el siguiente video.