‫Bienvenido de nuevo y en este video, analizaremos los grupos de amenazas, por lo tanto, crearemos varios
‫hilos y veremos qué va a suceder.
‫Por lo tanto, sigamos adelante para simplemente crear un hilo muy básico, y me voy
‫a deshacer de esta fuente de finalización.
‫Y entonces estamos en un hilo muy genérico aquí.
‫Así que ese es un hilo genérico que hemos usado hasta ahora.
‫Y aquí esperamos un segundo, por ejemplo, y tiene un hilo.
‫No.
‫Y para comenzar, por supuesto, necesitamos llamar al método de inicio aquí hacia el final.
‫Así que ahora esto solo va a ser un hilo y va a comenzar.
‫Así que no hay nada nuevo aquí.
‫Lo hemos hecho varias veces allí.
‫Entonces, la única diferencia es que ahora me gustaría usar algo llamado grupo de subprocesos.
‫Pero antes de hacer eso, solo voy a usar una factura numérica y numérica como esa,
‫y voy a ejecutar un rango de cero a, digamos, 100 por ahora, dos listas y para cada entrada.
‫Me gustaria hacer algo
‫Así que solo voy a decir que simplemente ejecute un código específico.
‫Así que esta es solo una línea de código.
‫Y allí quiero crear hilos.
‫Entonces, lo que va a hacer es este I enumerable o este enumerable en realidad va a crear varios subprocesos
‫y va a crear 100 de ellos.
‫Entonces voy a usar un enlace aquí.
‫Entonces, usando el enlace del sistema para usar el enumerable y debería llamarse rango con él al final para
‫que estemos.
‫Así que eso es suficiente, simplemente creará 100 amenazas y veremos todas esas amenazas en la consola.
‫Así que comencemos con eso.
‫Y ahí estamos.
‫Y como puede ver, está comenzando los hilos y está terminando los hilos y el ciento dos es el último
‫hilo.
‫Y puedo ver que empezó con tres.
‫Entonces comienza con tres, seis, cinco y así sucesivamente.
‫Entonces, el orden, como puede ver, es muy diferente al que esperaríamos.
‫Entonces, los hilos tienen un ID diferente al orden en el que esperaríamos que estuvieran, pero luego se inician y terminan
‫y tal vez eso fue un poco demasiado rápido.
‫Así que creemos un poco más de amenazas o diría 1000 hilos.
‫Y como veis.
‫Crea toneladas de subprocesos, pero los subprocesos se terminan antes de que se inicien otros.
‫Así que hay innumerables los inicia donde los crea tan rápido como puede, tan rápido como puede.
‫Pero como puede ver, lleva un poco de tiempo.
‫Entonces, digamos aproximadamente cien milisegundos más o menos para crear un hilo que somos, los crea y
‫luego comienza a terminarlos.
‫Entonces, después de un segundo, creó solo seis subprocesos, luego subproceso cinco.
‫Así que se acabó uno de los primeros.
‫Como puede ver, crea esas amenazas.
‫Y eso no es muy eficiente porque, bueno, no podemos controlar esas amenazas.
‫No podemos controlar esta cantidad de amenazas.
‫Y ese es un aspecto muy importante.
‫Las amenazas que tiene que ser muy, muy cuidadoso y muy preciso cuando se trabaja con amenazas.
‫Necesita saber qué quiere hacer con esa amenaza y los blancos allí y cómo trabajar en general con todo lo que
‫está dentro de la amenaza.
‫Así que ese es solo un ejemplo de amenazas, cómo puede crear varias de ellas.
‫Y acaba de crear mil amenazas como esa.
‫Y ahora echemos un vistazo a los grupos de amenazas porque sus grupos tienen
‫un enfoque ligeramente diferente y utilizan amenazas y son un poco más seguros, digamos, porque no crean mil amenazas que
‫no son necesarias.
‫Solo tiene las amenazas que se requieren actualmente.
‫Así que creemos un grupo de amenazas aquí.
‫Y elemento de trabajo Q User.
‫Q es un método de ejecución que se ejecuta cuando una amenaza de grupo de amenazas está disponible.
‫Entonces, solo si está disponible, esto se ejecutará y necesita un objeto aquí.
‫Entonces, hay dos diferentes aquí para ver la devolución de llamada y el objeto y solo voy a darle un oh
‫como un objeto.
‫Solo lo voy a llamar.
‫Oh, nada especial aquí.
‫Y qué voy a ejecutar en el grupo de amenazas.
‫Así que solo voy a decir dame el yo. D. de la amenaza o el número de amenaza y bueno, digamos
‫cuándo comenzó y cuándo terminó.
‫Eso es prácticamente todo lo que quiero hacer con este grupo de amenazas.
‫Y como puede ver aquí, no creamos específicamente, no creamos amenazas allí.
‫Pero este grupo de amenazas lo hará por nosotros.
‫Así que hay mucho trabajo por hacer, como mil amenazas que manejar.
‫Y como puede ver, solo crea una cantidad específica de amenazas.
‫Y como puede ver, comienza y termina las amenazas más o menos al mismo tiempo.
‫Y también puede ver que no tengo muchas llamadas en mi CPU aquí porque solo puede funcionar con una cantidad específica de
‫amenazas al mismo tiempo.
‫Por lo tanto, el grupo de amenazas manejará las cosas de manera mucho más fluida, como puede ver.
‫Pero, por supuesto, se necesita mucho tiempo para superar todas esas 1000 amenazas.
‫Pero como dije, si usa amenazas, debe controlarlas, así que no use amenazas al azar, prácticamente lo principal
‫en el que usaría amenazas es cuando hace algo en segundo plano y hace algo
‫en primer plano.
‫Entonces, en primer plano suele haber algo como la interfaz de usuario.
‫Entonces, cuando usa WP F o si usa aplicaciones con Gamoran o crea absolutismo, entonces todo lo que está sucediendo en el frente
‫y en la interfaz de usuario lo hace la amenaza principal y luego o la amenaza de la interfaz de usuario, y
‫luego algo como descargar videos o descargar datos en general de Internet o acceder a datos del disco
‫duro o de la tarjeta SD o lo que sea.
‫Todo lo que podría tomar un poco de tiempo, incluso si son solo un par de
‫milisegundos u otro par, pero varios milisegundos, entonces eso ya es algo que debe hacerse en segundo plano
‫porque de lo contrario su interfaz de usuario se congelará porque, bueno, no está lista para hacer algo porque todas las amenazas están
‫ocupadas.
‫De acuerdo, se trata de crear grupos de amenazas y, si tiene muchas cosas que hacer, puede usar grupos
‫de amenazas.
‫Por lo tanto, hay varias cosas a tener en cuenta al usar grupos de amenazas, por lo que, por lo
‫general, los grupos de amenazas están ahí para ejecutar un trabajo específico o realizar trabajos o elementos de trabajo específicos, y esperarán hasta que la próxima
‫amenaza esté lista o una amenaza antes de que ocurra. empieza.
‫La siguiente amenaza o antes de que comience con el siguiente elemento de trabajo.
‫Así que esa es la ventaja de los grupos de amenazas, que no tienen tiempo de inactividad o tiempo para dormir
‫donde no pasa nada porque puede haber situaciones en las que simplemente no se tiene que hacer nada con usted
‫o su CPU.
‫Y eso está totalmente bien porque de lo contrario sería bastante pesado para la CPU si tiene que funcionar todo el tiempo
‫y hacer cosas todo el tiempo o un trabajo pesado.
‫Pero, en general, intente tirar, simplemente dice: OK, si no hay nada o si hay suficiente espacio para
‫ejecutar un hilo o crear una amenaza, lo haré y ejecutaré las cosas que deben ser
‫hecho.
‫Las amenazas en el grupo de amenazas administradas, por cierto, son amenazas de fondo.
‫Esa es su amenaza es un trasfondo.
‫La propiedad es verdadera.
‫Entonces no hemos visto eso antes.
‫Pero si creo una amenaza así.
‫Así que aquí, déjame sacar esta nueva amenaza desde aquí.
‫Y si quiero poner eso en segundo plano, puedo hacerlo.
‫Entonces, su experiencia es igual a, por ejemplo.
‫Así es como puedo establecer este hilo en su fondo y en la cola en este grupo de hilos.
‫P Solo hay amenazas de fondo.
‫Y el otro punto a considerar es cuando la amenaza de reutilización es una amenaza, lo que hemos visto aquí, por
‫lo que reduce la amenaza, es que hemos visto esta ID gestionada por amenazas.
‫Se reutilizó mucho, por lo que el grupo de amenazas no borra los datos del almacenamiento local de amenazas.
‫Por lo tanto, cuando un método examina la amenaza, el almacenamiento local, los valores que encuentra pueden quedar de un uso anterior
‫de la amenaza del grupo de amenazas.
‫Entonces eso es algo que debemos considerar.
‫Compartiré un enlace contigo.
‫Podemos leer más sobre los grupos de amenazas y en general.