1
00:00:00,210 --> 00:00:00,780
Bienvenidos.

2
00:00:00,810 --> 00:00:06,090
Comenzamos con el primer ejemplo de los hilos de Rodrigo, así que íbamos a cerrar el ejemplo que tenemos,

3
00:00:06,540 --> 00:00:08,700
cerramos y vamos a crear un nuevo proyecto.

4
00:00:09,000 --> 00:00:11,240
Igual que siempre New Project.

5
00:00:12,500 --> 00:00:20,390
En yaba siguiente siguiente y el nombre y los o adrid como le queramos colocar, finalizar.

6
00:00:21,960 --> 00:00:26,600
Bien, como siempre, vamos a crear un pacato para organizar New Package.

7
00:00:28,160 --> 00:00:38,720
OR junto a Guzmán punto y los ejemplo ejemplos finalizar bien, acá vamos a tener la clase con el método

8
00:00:38,720 --> 00:00:43,120
Main para probar el hilo le vamos a colocar ejemplo extender.

9
00:00:46,250 --> 00:00:51,740
Bueno, extender, porque vamos a ver primero cómo crear un tried heredando de la clase, deride entonces

10
00:00:51,740 --> 00:00:52,610
siguiente.

11
00:00:52,730 --> 00:01:00,410
Por acá tenemos el método main porque recuerden que hay dos forma 1 heredar de Dredd la clase otro implementa

12
00:01:00,410 --> 00:01:02,210
la interfaz Rond abre bien.

13
00:01:02,270 --> 00:01:07,940
Vamos a crear entonces la clase de herid que hereda de dirigo, pero para que quede mejor la podríamos

14
00:01:07,940 --> 00:01:09,030
crear en un package.

15
00:01:09,470 --> 00:01:13,580
Entonces por acá New Package Utility.

16
00:01:14,390 --> 00:01:17,120
Perfecto, vamos a crear esta clase.

17
00:01:17,600 --> 00:01:20,410
Le vamos a llamar por ejemplo nombre Dredd.

18
00:01:21,440 --> 00:01:26,840
Bueno, como nomenclatura para nombrar la clase adrid podría llevar la palabra adrid después del nombre

19
00:01:26,840 --> 00:01:27,530
que le queramos dar.

20
00:01:27,620 --> 00:01:32,500
Ahora no es un estándar, pero sí para detectar visualmente que se trata de una clase débil.

21
00:01:32,750 --> 00:01:33,290
Nada más.

22
00:01:33,890 --> 00:01:34,490
Listo.

23
00:01:34,640 --> 00:01:35,210
Stents.

24
00:01:38,510 --> 00:01:40,070
Drizzt Dredd de llevarla.

25
00:01:40,220 --> 00:01:43,460
Por lo tanto, no se tienen que importar en el РАМКАХ por defecto de yaba.

26
00:01:44,570 --> 00:01:44,990
Bien.

27
00:01:45,440 --> 00:01:48,020
Y acá tenemos que sobrescribir el método rrán.

28
00:01:48,170 --> 00:01:53,150
Entonces en Generated nos vamos overo hay métodos sobrescribir.

29
00:01:53,390 --> 00:01:54,640
Buscamos el Rann.

30
00:01:55,580 --> 00:01:55,910
Ok.

31
00:01:56,720 --> 00:01:56,930
Llega.

32
00:01:56,930 --> 00:01:58,220
Implementamos el cuerpo.

33
00:01:58,760 --> 00:01:59,870
Esto acá le quitamos.

34
00:02:01,190 --> 00:02:04,460
Opcionalmente le podemos dar un nombre al Dredd personalizar.

35
00:02:04,520 --> 00:02:07,190
Pero para eso tenemos que sobrescribir el constructor.

36
00:02:07,250 --> 00:02:07,880
Por ejemplo.

37
00:02:07,880 --> 00:02:10,700
Nos vamos también a generate constructor.

38
00:02:11,570 --> 00:02:16,730
Buscamos uno que reciba el nombre, el string ok y listo.

39
00:02:17,180 --> 00:02:23,270
Entonces es importante heredar de Grid opcionalmente implementar un constructor para dar un nombre,

40
00:02:23,270 --> 00:02:27,830
personalizar el nombre en caso de que le creamos dar un nombre propio.

41
00:02:27,950 --> 00:02:31,370
Aunque también podríamos utilizar el nombre por defecto que se le asigna.

42
00:02:32,150 --> 00:02:35,690
Y el método Rrán acá va a tener un principio y final.

43
00:02:35,810 --> 00:02:40,990
Es decir, recuerden que cuando parte el Rann comienza el hilo y cuando finaliza, es decir, se sale

44
00:02:41,000 --> 00:02:43,940
el metro Herrán termina la ejecución del hilo.

45
00:02:44,480 --> 00:02:46,640
Entonces por ejemplo, acá podemos tener shout.

46
00:02:52,690 --> 00:02:54,280
Y acá podemos concatenar con el nombre.

47
00:02:54,880 --> 00:02:56,000
Acá tienen método Kenney.

48
00:02:56,410 --> 00:02:59,740
Y de esa forma podemos obtener siempre en nombre del Dr. Acá.

49
00:02:59,780 --> 00:03:07,670
Bueno, otro más donde finaliza el try y entremedio alguna tarea, lo que queramos.

50
00:03:07,690 --> 00:03:09,520
Haga un proceso para el ejemplo.

51
00:03:09,670 --> 00:03:15,220
Voy a hacer un for para simular alguna tarea de uno hasta 9.

52
00:03:15,370 --> 00:03:19,540
Es decir, que partan cero hasta diez y que muestren nombre diez veces.

53
00:03:26,290 --> 00:03:35,210
Entonces le dije que imprima en nombre diez puntos Quiet noi se fijan bien simple nuestra implementación.

54
00:03:35,480 --> 00:03:38,090
Ahora vamos a ir a la clase con el método Main.

55
00:03:38,270 --> 00:03:47,260
Vamos a crear la instancia Dredd del tipo adrid hilo igual new nombre Drin.

56
00:03:48,290 --> 00:03:57,530
Por ejemplo, le podríamos colocar John Dondo Shout y punto.

57
00:03:57,830 --> 00:03:58,640
Get State.

58
00:04:00,320 --> 00:04:00,640
Vamos a.

59
00:04:00,800 --> 00:04:05,120
Recuerden que cuando se crea la instancia es un hilo nuevo que todavía no se ha ejecutado.

60
00:04:05,960 --> 00:04:07,190
Entonces vamos a levantar.

61
00:04:07,340 --> 00:04:08,360
Debía mostrar new.

62
00:04:10,250 --> 00:04:15,890
Perfecto es el estado del ciclo hoy día, cuando se crea instancia, pero todavía nos asigna recursos.

63
00:04:15,920 --> 00:04:18,380
Todavía no se ejecuta Eldred.

64
00:04:18,680 --> 00:04:23,690
Entonces ahora vamos a ejecutar el Dredd por acá y punto Start.

65
00:04:24,110 --> 00:04:27,050
Recuerden que se levanta con el start, no con el run.

66
00:04:27,260 --> 00:04:30,170
El start internamente invoca y llama al run.

67
00:04:30,410 --> 00:04:30,890
Vamos a ver.

68
00:04:35,410 --> 00:04:38,020
Jondo diez veces y final y salir.

69
00:04:38,770 --> 00:04:39,960
Y acá aparece el ran.

70
00:04:40,540 --> 00:04:47,890
Pero se fija la secuencia primero se levanta, imprime el estado rana hiver y como traca forma síncrona,

71
00:04:47,980 --> 00:04:49,870
es decir, en su propio hilo.

72
00:04:49,990 --> 00:04:51,610
O ir que su propio proceso.

73
00:04:51,640 --> 00:04:56,320
Pero dentro del proceso principal del método main de nuestra aplicación, entonces se corre en paralelo.

74
00:04:56,710 --> 00:05:02,110
Entonce primero muestra otro nivel mientras ejecuta, mientras ejecuta y empieza a imprimir los nombres

75
00:05:02,230 --> 00:05:03,670
hasta que finaliza el hilo.

76
00:05:04,340 --> 00:05:11,830
Bueno, y por supuesto, si damos un Dilthey una espera en el tiempo, el estado base que ha finalizado,

77
00:05:11,950 --> 00:05:12,730
termínate.

78
00:05:13,210 --> 00:05:16,420
Y esto lo podemos hacer con un sleep del dret principal.

79
00:05:16,870 --> 00:05:19,750
Claro, porque se coloca adrid punto sleep.

80
00:05:19,960 --> 00:05:26,710
Después vamos a Heyman detalle, pero por ahora solamente puede ser una pausa, no sé, de 50 o 100

81
00:05:26,830 --> 00:05:27,550
milisegundos.

82
00:05:27,580 --> 00:05:28,240
Con eso está bien.

83
00:05:28,360 --> 00:05:32,920
Vamos a lanzar la excepción por el método de que nos pide manejar intranets Deception.

84
00:05:33,460 --> 00:05:36,070
Bueno, lo que hace acá es ejecutar el hilo.

85
00:05:36,190 --> 00:05:40,180
Por lo tanto se ejecuta, se procesa, hace una pausa mientras está ejecutando.

86
00:05:40,360 --> 00:05:47,290
Y después, cuando supuestamente finaliza adrid después de 100 milisegundos se imprime, el estado debería

87
00:05:47,290 --> 00:05:49,120
cambiar y debería aparecer acá abajo.

88
00:05:49,280 --> 00:05:49,750
Veamos.

89
00:05:52,770 --> 00:05:56,100
Se fijan termínate porque le dimos una pausa.

90
00:05:56,280 --> 00:06:00,510
Si le damos una pausa de 10 también va a depender quizá donde quiere.

91
00:06:00,660 --> 00:06:03,630
Vamos a ver también Di1 1.

92
00:06:11,330 --> 00:06:13,310
De 3.

93
00:06:18,370 --> 00:06:22,360
De dos, entonces entre uno y dos se ejecuta, es muy rápido.

94
00:06:22,480 --> 00:06:26,350
Está hablando de milésimas de segundos, se fijan bastante, bastante rápido.

95
00:06:27,510 --> 00:06:33,840
Bien, esto lo voy a comentar directamente para demostrar cómo varía si colocamos una pequeña pausa

96
00:06:33,930 --> 00:06:35,370
al hilo principal del main.

97
00:06:35,520 --> 00:06:40,920
Esto no es una pausa del hilo de Taka, no, sino es una pausa en el método Main.

98
00:06:41,370 --> 00:06:42,940
Qué otra cosa podemos ver ahora?

99
00:06:42,960 --> 00:06:44,340
Qué pasa si tenemos más instancia?

100
00:06:44,520 --> 00:06:48,810
Por ejemplo, acá tenemos Allon, pero podríamos crear más objeto.

101
00:06:50,280 --> 00:06:59,700
drId y lo dos igual New Nombre drid María.

102
00:07:01,670 --> 00:07:04,370
Hilo dos, punto start.

103
00:07:05,360 --> 00:07:06,200
Vamos a ver que sucede.

104
00:07:07,010 --> 00:07:11,680
Bueno, es tan rápido porque son milésimas segundo que es muy probable que primero se ejecute este y

105
00:07:11,690 --> 00:07:15,710
prácticamente cuando haya finalizado se ejecuta este, pero prácticamente parten al mismo tiempo.

106
00:07:15,740 --> 00:07:22,070
Pero como son milésimas de segundo decir muy rápido, entonces visualmente es como si no fuera en paralelo.

107
00:07:23,360 --> 00:07:28,040
Se fijan jondo y después uno finaliza, se inicia María.

108
00:07:28,580 --> 00:07:31,160
Pareciera ser que no fuera en paralelo, pero sí lo es.

109
00:07:31,370 --> 00:07:36,770
Estamos hablando de tiempos, unidad, de tiempos, de milésimas de fracciones de segundo incluso.

110
00:07:36,860 --> 00:07:39,860
Eso sí que si lo podemos notar con una pausa acá.

111
00:07:40,070 --> 00:07:47,450
Por ejemplo, si tomamos una pausa entre medio del foro en cada iteración antes de imprimir, es tener

112
00:07:47,450 --> 00:07:50,390
una pausa ya del nombre dirig de este hilo.

113
00:07:50,540 --> 00:07:52,420
Punto Sleep.

114
00:07:52,640 --> 00:07:54,440
No sé, por ejemplo, de 10.

115
00:07:55,340 --> 00:07:58,430
Hay que lanzar acá la acepción o anidar.

116
00:07:58,610 --> 00:07:59,800
La manejamos con el troi catch.

117
00:08:01,490 --> 00:08:07,190
Esto de acá alojamos acá o bien acá entre medio para el caso, lo mismo vamos a probar.

118
00:08:08,330 --> 00:08:14,900
Se fijan, ahí se van intercalando prácticamente jondo María María, Jondo María, porque en una pausa,

119
00:08:14,990 --> 00:08:20,810
como tentemos un poco mal tiempo, claro, se empieza a notar más visualmente la concurrencia, aunque

120
00:08:20,810 --> 00:08:25,370
cada uno de estos dos hilos, cada uno corre en su propio procesador de forma paralela.

121
00:08:25,550 --> 00:08:31,700
Ahora recuerden con procesadores de hoy en día que son de más de un core de 4 cor 8 kor.

122
00:08:31,790 --> 00:08:33,710
Esto es prácticamente en paralelo.

123
00:08:33,800 --> 00:08:38,690
No es que estemos trabajando con un solo core y se va ejecutando de forma intermitente una y después

124
00:08:38,690 --> 00:08:40,970
otra y después otra no, sino en paralelo.

125
00:08:41,360 --> 00:08:49,790
Y también para finalizar drid y los tres igual new nombre.

126
00:08:50,300 --> 00:08:57,380
Bueno, acá podemos utilizar el tipo de la clase Drizzt Padre o el mismo tipo de la implementación.

127
00:08:57,680 --> 00:09:05,270
En el caso del Drin, Pepe, el Start y los tres punto Start.

128
00:09:09,370 --> 00:09:09,820
Eita.

129
00:09:11,910 --> 00:09:17,970
Parte primero incluso María, luego Pepe y yo, entonces literalmente concurrente al mismo tiempo.

130
00:09:20,270 --> 00:09:21,190
Y eso podría variar.

131
00:09:21,370 --> 00:09:24,220
Probablemente si lo ejecutamos nuevamente varía el orden.

132
00:09:25,690 --> 00:09:28,390
Se fijan ahora e Yondu, María y Pepe.

133
00:09:28,780 --> 00:09:31,090
Si volvemos a ejecutar, podría variar.

134
00:09:31,990 --> 00:09:35,110
Es decir, obviamente nos asegura, porque esto lo maneja el procesador.

135
00:09:35,320 --> 00:09:37,570
El sistema operativo y la máquina virtual de Java.

136
00:09:37,750 --> 00:09:43,450
Bueno, esto sería con una primera vista de los Drizzt utilizando la herencia y continuamos la siguiente

137
00:09:43,450 --> 00:09:46,230
clase con la forma de la interfaz Ranavalona.

138
00:09:46,360 --> 00:09:47,020
Nada más.

139
00:09:47,140 --> 00:09:47,830
Nos vemos.
