Bienvenidos.
Continuamos con el Dreadful.
Ejecutor Bueno, justamente lo que retorna este método, el Fixed Dredd Pool, una instancia de un tried
pool executar.
Bueno, acá utilizamos el tipo de la interfaz, pero la implementación concreta en la que tenemos acá
un control click para ver el método y acá retorna una instancia New Dredd Pool executar que maneja varios
parámetros.
Bueno, argumento en el método, por ejemplo el Corpus 6, que es el tamaño del pool por defecto, es
decir, el tamaño principal, por eso se llama KOR principal cantidad de dirig que va a manejar por
defecto.
Pero también podemos pasar como segundo argumento un maximum pull size que sería como el tamaño máximo
que podría tener el pull claro.
Por ejemplo, si el tamaño del core ya está todo ocupado y tenemos varias tareas en espera, podríamos
ampliar a un máximo pull pussys a un valor máximo y ahí pueden entrar en ejecución más tarea en el ejecutor.
Por lo tanto, se amplía el tamaño del pool, la cantidad de dirigid disponible, pero también tiene
una limitación que te exeso de cantidad.
Es decir, si restamos el corpus 6 con el máximo, ahí tenemos un delta, un exceso.
Este exceso de pull se podrían eliminar después de un tiempo de inactividad, es decir, cuando estos
Dorit entran en un tiempo de inactividad o ya no se estén utilizando, se eliminan del pool y el pull
vuelve a un tamaño menor.
Se fija entonces flexible, solamente se mantiene como un delta por sobre el color pussys y en el atributo
queda el tipo long keep alive time.
Acá colocamos según la unidad tiempo que especificamos con el tam juny como cuarto argumento, ya sea
minuto, segundo milisegundo, colocamos la cantidad de tiempo que puede estar e inactividad antes de
que se eliminen, pero ojo, solamente se eliminan el delta.
La diferencia entre el score y el máximo.
Bien, volvamos acá a esta clase.
Bueno, el fixed de Red Bull se llama fixed por fijo, es un tamaño fijo del pull.
Por lo tanto, la cantidad del kor es idéntica a la del máximo.
El máximo es igual al tamaño del pool.
No va a existir un tal tan no se va a ampliar, es fijo.
Por lo tanto, también el tiempo de inactividad es cero, ya que no hay una diferencia, no hay un delta
y en esta lista enlazada que vemos acá se van a guardar los elementos en la cola en espera.
Bien, veamos algunos ejemplos.
Vamos a cerrar acá.
Entonces este retorna una instancia concreta, pero acá usamos el tipo de la interfaz, pero podríamos
cambiar al tipo concreto.
Por ejemplo Dreadful executar.
Acá tenemos que hacer un cast sobre el error.
Colocamos Cast adrid, pool ejecutor perfecto y acá tenemos métodos donde podemos afinar configuraciones
parámetro.
Como ya vimos, podrían personalizar con el método set o sobrescribir el corpus.
Sigue el tamaño del pool, el máximo pussys, el tamaño máximo que eventualmente podría tener el pool
y también el tiempo en que podría estar este delta o acceso de grid cuando están en inactividad, por
ejemplo punto set.
Acá tenemos todos los set corpus saes el tiempo y la unidad de tiempo set keep alive time y el maximum
pussys bien, pero lo dejamos por defecto así como está.
De todas forma, esto se puede personalizar, customizar a nuestra medida según necesitemos.
Pero también tenemos otro método interesante que vamos a ver.
Por ejemplo Shout.
Vamos a imprimir tamaño del pool bien executar punto get pussys el tamaño del pool actual, que podría
ser una combinación entre el core y el máximo, recuerda que el máximo es el tope que eventualmente
podría tener el pool.
El core es la base.
Si son iguales, sería un tamaño fijo, tal como lo tenemos acá.
Entonces vamos a invocar el GET por seis, el tamaño actual.
Cantidad de vivir o más que diría tareas
en cola executar punto Geet quew o la cola.
Punto 6.
Qué sería el tamaño?
Y esto mismo lo vamos a copiar porque bueno, acá debería ser cero.
Por qué no hemos agregado ninguna tarea al ejecutor?
Pero por ejemplo, si lo colocamos acá antes del chat down y después de haber agregado tareas, qué
va a mostrar?
Bueno, el tamaño lo tenemos como fijo de dos, pero tenemos tres tarea.
Entonces diría mostrar tamaño del pull 2 y encola 1.
Bueno.
Entonces vamos a levantar.
Vamos a revisar.
Entonces, cuando parte cero, cero.
Perfecto.
Y después también modulpool 2 cantidad de tareas en cola 1.
Hay 2 y 1.
Ahora, qué pasa si ampliamos acá a 1 1 solo?
Bueno, primero hacer cero cero.
Eso está claro.
Acá se muere un poco más porque está ejecutando los tres de forma secuencial.
Veamos.
Cero, cero.
También el pull uno, pero cantidad de tareas en cola dos, porque son tres tarea, una en ejecución
y dos esperando.
Si colocamos 3, bueno base 3 y 0 en cola.
Se fijan el tamaño del pull 3.
Buscamos cantidad, tareas en cola 0, bien.
Y para finalizar este video vamos a ver un ejemplo del productor y consumidor, utilizando también esto
mismo que hemos estado viendo bien, esto lo podemos tal como estaba antes o lo dejamos así?
Da lo mismo.
Pero recuerden, podemos hacer el cast adrid pull sigue utor para poder tener acceso a estos métodos
get y también método set.
Poder modificar estos parámetros.
O bien incluso podemos crear la instancia directamente del Drizzt Pool.
Executar también y pasando al constructor los parámetros ya sea el corpus.
Sois el máximo pulsares y el parámetro de tiempo para mantener vivos estos que están inactivos.
Por ejemplo, que después de tanto milisegundo de inactividad que se eliminen del pool.
Bien, veamos el ejemplo.
Entonces vamos a copiar este de acá, lo pegamos acá.
Ejemplo Seki Utor, productor consumidor.
Ok.
Estoy acá, lo cerramos y usamos este nomás, pero en realidad el ejemplo es bien simple, porque la
tarea ya la tenemos.
Le quitamos esto y lo vamos a reutilizar.
Lo podremos mantener el chotano, por supuesto, y todo lo que está acá lo quitamos.
Lo eliminamos.
Recuerden que son dos tareas, nada más.
Y son del tipo razonable.
Por lo tanto, no retorna nada.
Entonces, futuro uno acá vamos a pasar una tarea.
Pero qué tarea?
Recuerden panadería P Igual New Panadería es el monitor o recurso compartido.
Vamos a tener un renegaban productor yo seré el panadero.
Igual ni un panadero.
Acá tengo que pasar la panadería.
Otro más consumidor consumidor también pasaba a la panadería.
Bien.
Y dos tareas vamos a pasar.
Productor o consumidor?
Primero de lo mismo.
Vamos a copiar y pegamos.
Y pasamos ahora un consumidor.
Y acá a futuro.
2.
De hecho, podríamos traja con estos futuros, saber si están trabajando y Down lo podemos cancelar
también lo que queramos y listo.
Ahí está el ejemplo, súper simple, pero cuidado, al menos como son dos tarea que está sincronizada,
trabajan al mismo tiempo, tienen que tener un pool, un tamaño del pulpo, lo menos de 2 mínimo de
2 para que sepan ejecutar estas dos al mismo tiempo y pueden trabajar con él panadería.
Con este recurso compartido, este monitor listo, ejecutamos.
Dé comienzo en orden se fijan sincronizado, mismo ejemplo que vimos, pero llevado a un estricto service
a este Frenkel y finaliza No podría tener un Poul de uno no, porque se ejecutaría uno solo primero,
pero quería esperando eternamente a que el siguiente lo consuma, pero el siguiente no se está ejecutando
porque está en la cola, se fijan?
Entonces tiene que ser de por lo menos dos o más.
Eso viene, por tanto.
Bueno, y hoy finaliza Ni todo sincronizado.
Si el panadero hornea, te consume y siempre Panero parte primero.
El cliente no puede consumir si tuyo no existe ningún pan, incluso si acá colocamos consumidor acá
y productor acá para que eventualmente parta el primer consumidor, no importa.
El consumidor bate que esperar a que el productor desarrolle.
Horneé algún pan.
Siempre el panadero primero.
Bien.
Tamaño del pulsera.
Cantidad de tarea en cola zero acá.
Luego creamos las dos tareas Ravell las asignamos al exigi Outer con submit y ahora cambia el tamaño
del pool.
2 cantidad tareas en cola 0.
Y esto sería solamente faltaría la siguiente clases trabajar con tarea programada utilizando por ejemplo
por acá lo tenemos el New News Dodge Dreadful, por ejemplo, o con Finkel por acá tenemos también el
finkel dret squeda alt también con uno solo o con más de uno s con un pool de Dredd.
Bien, acá alojamos en 2 y estamos listo.
Continuamos en la siguiente clase.