YouTube2Text

Sistemas Operativos, Creacion y Join de POSIX Threads (Hilos) — Transcript

by Guillermo Cherencio · 3,642 words · 600 segments · language en · Watch on YouTube

Full transcript

  1. 0:01bienvenidos nuevamente la gente de
  2. 0:04sistemas operativos bien vamos a empezar
  3. 0:08a jugar un poco con el tema de los de
  4. 0:11friends y también procesos livianos el
  5. 0:15punto de vista teórico estos son y usar
  6. 0:17level estrés se sirve e hilos a nivel de
  7. 0:21usuario eso lo vamos a implementar
  8. 0:22utilizando una librería en linux que se
  9. 0:25forma
  10. 0:27ep3 los opositores acá estamos viendo en
  11. 0:31la página número 15 del libro de la
  12. 0:34asignatura
  13. 0:36les recuerdo que este libro fue escrito
  14. 0:42por médico con la ayuda del centro de
  15. 0:47estudiantes
  16. 0:48de la de la universidad tecnológica
  17. 0:52nacional facultad regional buenos aires
  18. 0:57es un libro que fue publicado hace
  19. 1:00algunos años y bueno
  20. 1:02lo pueden ver
  21. 1:03[Música]
  22. 1:05está disponible digamos en esta
  23. 1:08dirección de nuestros alrededores hecho
  24. 1:10con un punto largo radio si es exitoso
  25. 1:12operativo el libro dentro de esta
  26. 1:15carpeta te van a tener acceso a los
  27. 1:18archivos un archivo comprimido donde van
  28. 1:22a encontrar todo el código asociado por
  29. 1:24programas y códigos solo por el libro
  30. 1:28acá van a poder tener las páginas
  31. 1:30escaneadas del libro
  32. 1:33para descargar la que estamos viendo la
  33. 1:35página número 15 la página número 15
  34. 1:38capítulo tres procesos livianos bueno
  35. 1:41así se da una introducción a este les
  36. 1:46pido que lo leas después que vean en
  37. 1:48introducción a de todos allí se proponen
  38. 1:50un par de páginas de vrl para que vean
  39. 1:53que son estas que están acá que están
  40. 1:55vinculadas con programación en paralelo
  41. 1:58con hilos éste les recomiendo que las
  42. 2:01veo porque tiene conceptos de
  43. 2:04programación paralelas muy interesantes
  44. 2:06para comprar un poco el paradigma que
  45. 2:09traen ustedes de los primeros años de la
  46. 2:11carrera donde una aplicación para
  47. 2:14ustedes es un único hilo de ejecución y
  48. 2:16bueno eso ya han llegado ya no es más
  49. 2:19así hay un montón de aplicaciones que
  50. 2:21requieren
  51. 2:23procesamiento paralelo muchas
  52. 2:27situaciones del mundo real digamos son
  53. 2:29en realidad problemas que deben
  54. 2:32resolverse en paralelo bueno realmente
  55. 2:35esta introducción este logramos en el
  56. 2:38paralelo está muy muy muy interesante y
  57. 2:42muy interesante por acá vemos uno de los
  58. 2:46próceres
  59. 2:47desde la informática una persona que
  60. 2:51aportó muchísimo a todo esto acá vemos
  61. 2:54también la clasificación de flynn que
  62. 2:56también lo vamos a ver vamos a ver o lo
  63. 2:59vimos una teoría de una lesión persona
  64. 3:01de computadores acá tenemos fotos de
  65. 3:04varios computadores legendarios
  66. 3:06supercomputadores legendarios bueno en
  67. 3:09fin esto es todo el entramado teórico de
  68. 3:13una voz son paralelas
  69. 3:16[Música]
  70. 3:17el otro link es más que nada se centra
  71. 3:22digamos en un tutorial de información
  72. 3:25más detallada sobre la programación
  73. 3:29o utilización de la librería de 3.63 de
  74. 3:34euros que está orientada en nuestro caso
  75. 3:38vamos a usar sobre linux
  76. 3:41y acá vamos a ver diferentes ejemplos
  77. 3:44digamos de
  78. 3:46utilización de alguna de las funciones
  79. 3:50básicas de estas librerías como la
  80. 3:52emperatriz de exit cáncer bien y acá van
  81. 3:57a encontrar también hay algunas
  82. 4:01cuestiones teóricas interesantes pero lo
  83. 4:04más importante para encontrar este
  84. 4:07pedazo de código de elaboración muy útil
  85. 4:09para comprender todo esto y ver cómo
  86. 4:12cómo se comporta vamos a comenzar a
  87. 4:16hacer un pequeño código que se ve que
  88. 4:19todo en parte empezado en esta carpeta
  89. 4:29bueno
  90. 4:31este pequeño min
  91. 4:35bien acá estamos viendo que para usar p3
  92. 4:39básicamente tenemos que ser un número el
  93. 4:41incluso de ep3 punto h y otra cosa muy
  94. 4:45importante es que debemos compilar este
  95. 4:49indicando el guión l p 3c es decir hay
  96. 4:54que indicar que la librería para el
  97. 4:56infierno hacer
  98. 4:57lionel the library p36 para limpiar y
  99. 5:01para compilar necesitamos indicar que
  100. 5:04que vamos a usar la librería petr ente
  101. 5:07por ahora tenemos que incluir las
  102. 5:08cabeceras siempre segura funciones que
  103. 5:12vamos a utilizar bien esta función
  104. 5:15aunque tenemos acá producir números de
  105. 5:18relevancia para la explicación
  106. 5:22simplemente vamos a decir es un dedo una
  107. 5:25función que pronuncia un número que está
  108. 5:27comprendido entre un valor desde un
  109. 5:29valor hasta una determinada cantidad
  110. 5:31decimales por ejemplo si yo digo
  111. 5:33producir número en el paso como el
  112. 5:35argumento 1 del paso como argumento mío
  113. 5:37significaría que me va a producir un
  114. 5:40número aleatorio
  115. 5:42en realidad entre uno y mil con la
  116. 5:45cantidad de devolver
  117. 5:48[Música]
  118. 5:50bueno no es relevante simplemente
  119. 5:54relevante cómo usar el código tenemos
  120. 5:59[Música]
  121. 6:01un par de funciones y lo uno y los dos
  122. 6:04que tienen este prototipo devolver algo
  123. 6:06de tipos voy de asterisco en este caso
  124. 6:09no tienen argumentos
  125. 6:12y lo uno y lo 2012
  126. 6:18lo que van a hacer es mostrar por
  127. 6:21pantalla 10 números aleatorios
  128. 6:24generados por esta función producir
  129. 6:27número y luego nos va a mostrar 10
  130. 6:32números con dos decimales nos va a
  131. 6:36mostrar con tres decimales en pantalla
  132. 6:38siguientes antes igual debería aparecer
  133. 6:40en cero no porque vamos a generar los
  134. 6:43con dos decimales nada más entonces
  135. 6:46vamos a mostrar la leyenda y luego 12
  136. 6:48puntos y el número aleatorio general de
  137. 6:53él y lo dos va a ser exactamente lo
  138. 6:56mismo va a producir números aleatorios
  139. 6:59pero en este caso van a hacer con tres
  140. 7:02decimales
  141. 7:03kaká y luego deberían aparecer los tres
  142. 7:07desiguales algunos números
  143. 7:10diferentes de 0 9 décimos de 20
  144. 7:17funciones puede funcionar correcta un
  145. 7:19destino
  146. 7:21bueno básicamente un un hilo tiene esta
  147. 7:24forma es una función del tipo de
  148. 7:26asterisco tiene un hombre puede tener
  149. 7:28argumentos podría hacer eso también y
  150. 7:32para indicar que finaliza la función
  151. 7:35tenemos que llamar a la librería a la
  152. 7:39función éxito de la librería pre trae
  153. 7:41las funciones de la librería p 3 11 3 y
  154. 7:44un bajo y el nombre de la función por
  155. 7:46ejemplo petre decsión para indicar que
  156. 7:48ese hilo termina su ejecución cuando se
  157. 7:51encuentra un asomado p3 de éxito bueno y
  158. 7:54va a terminar hacia la finalización de
  159. 7:56ley si entre todos los casos el forma
  160. 7:59terminó podría haber un padre de ex y
  161. 8:02ningún hijo nuestra situación en la
  162. 8:04información
  163. 8:06finaliza
  164. 8:09y tenemos la función line escrita como
  165. 8:13cualquier programa
  166. 8:16tradicional también podría ser ningún
  167. 8:18mail sin argumentos porque no estamos
  168. 8:21haciendo uso de los argumentos por ahora
  169. 8:23tenemos que declarar dos variables de
  170. 8:26tipo presente pero van a ser los handler
  171. 8:31son los indicadores o las referencias de
  172. 8:33estos hilos la librería para crear hilos
  173. 8:37no saben la librería p3 y tenemos que
  174. 8:42pasar el puntero de 11
  175. 8:46la referencia del hilo y el segundo
  176. 8:50elemento
  177. 9:00como podemos ver el primer argumento es
  178. 9:02un puntero de tipo el p3 y el segundo es
  179. 9:06un puntero de tipo p 3c prt
  180. 9:10el segundo argumento que nos permite
  181. 9:14indicar algunos atributos asociados con
  182. 9:17el hilo
  183. 9:20por ejemplo en vosotros podríamos
  184. 9:22indicar si un niño es se puede hacer un
  185. 9:26sueño normal unos mil euros operaciones
  186. 9:28y bromista ser oro
  187. 9:30tienen diferentes atributos se le pueden
  188. 9:33indicar a cada uno en este caso como dos
  189. 9:35a los atributos por defecto que tiene
  190. 9:38pone entre create cuando crean hilo no
  191. 9:41le vamos a indicar nada porque somos
  192. 9:43nuevo en la probabilidad para
  193. 9:45podemos usar ninguno
  194. 9:48ningún este
  195. 9:50atributo de los en particular luego
  196. 9:52fíjense a ustedes que lo que dice el
  197. 9:55prototipo es que va a recibir un puntero
  198. 9:59o una función que va a ser una función
  199. 10:02que devuelve algo de tipo con asterisco
  200. 10:05y podría tener un argumento también de
  201. 10:08tipo boeing
  202. 10:11en nuestro caso como no tenemos ningún
  203. 10:13puntero definido pero devolvemos boyle
  204. 10:17asterisco así que bueno en nuestros días
  205. 10:20otras funciones que pueden ser adaptadas
  206. 10:24o castella debemos este tipo de puntero
  207. 10:27función por lo tanto lo único que
  208. 10:29necesitamos indicar acá es el nombre del
  209. 10:32y evidentemente el pp 3 que hacer algo
  210. 10:36con este puntero y va haber una especie
  211. 10:38de invocación a través de una función de
  212. 10:40curva 4 una suba del callback porque en
  213. 10:43algún momento sólo los diputadores de
  214. 10:45este hilo 1 esta función y no uno sino
  215. 10:47dos
  216. 10:50cuando uno creó un hilo queda a
  217. 10:53disposición del planificador de la
  218. 10:55librería de hilos para que esté en algún
  219. 10:57momento se ha ejecutado
  220. 11:00ella no significa que se ejecuta en ese
  221. 11:03instante esencia que yo creo que no
  222. 11:05significa que el p3 de crear lanza la
  223. 11:08ejecución del en o simplemente lo crea y
  224. 11:11lo pone en la cola de los listos como
  225. 11:14para que el planificador de la librería
  226. 11:16en algún momento de la tormenta inglés
  227. 11:18de tiempo de s&p un euro para ejecutar
  228. 11:20de 6
  229. 11:22[Música]
  230. 11:24cuarto argumento sería casualmente el 2
  231. 11:28un puntero de tipo the void asterisco
  232. 11:31que serían los árboles el argumento que
  233. 11:33se le pasaría a la función en el caso de
  234. 11:37que la función tenga declarado un
  235. 11:39suplente tipo también algún tipo de hoy
  236. 11:41de este licor
  237. 11:43en este caso como no tengo declarado un
  238. 11:46argumento para la función y lo 102
  239. 11:50también vamos a poner la palabrita luz
  240. 11:52bueno entonces nuestro programa el
  241. 11:55médico lo que va a hacer es crear los
  242. 11:57dos silos lanzar los hilos suponemos que
  243. 12:00en algún momento nada la librería de
  244. 12:04hilos va a planificar esos hilos
  245. 12:08en la línea 14 nos enviamos hasta la
  246. 12:12línea de 13 nosotros tenemos un único
  247. 12:14hilo de ejecución que es mail
  248. 12:17luego a partir de la línea 14 si se pone
  249. 12:21en marcha y en ejecución en el hilo euro
  250. 12:24porque el planificador supongamos que
  251. 12:26luego inmediatamente de crearlo nos pone
  252. 12:28en ejecución bueno en ese momento
  253. 12:29tendríamos dos y los ocurrentes de
  254. 12:32ejecución de mail y en la ejecución de
  255. 12:35la función y luego uno al mismo tiempo
  256. 12:37si a partir del año 15 también la
  257. 12:42librería de hilos esto crea un en la
  258. 12:45cola de visto y también le da tiempo de
  259. 12:47cpu digamos al hilo dos este aparece la
  260. 12:51línea 15 tendríamos tres hilos de
  261. 12:55ejecución al mismo tiempo tendríamos el
  262. 12:57hilo de ejecución del bei y tendríamos
  263. 13:00el hilo de ejecución de la función y lo
  264. 13:03uno y quién sabe por dónde irías y por
  265. 13:05acá o siria ya la primera vuelta de lugo
  266. 13:08la segunda o la tercera porque esto
  267. 13:10realmente sería bastante rápido
  268. 13:13o
  269. 13:15estaría ejecutando quién sabe qué en
  270. 13:17línea del 02 al mismo tiempo que también
  271. 13:20estamos ejecutando la línea de main y
  272. 13:23luego la línea de 16 termina el programa
  273. 13:26sí
  274. 13:30cuál es el problema que podemos
  275. 13:32vislumbrar qué
  276. 13:35cuando el mejor vamos a ver qué problema
  277. 13:37podemos tener acá vamos a continuar
  278. 13:40podemos saber
  279. 13:43en ejecución en la consola
  280. 13:47mejor podemos saber que el programa de
  281. 13:52yaguate h
  282. 13:55que es el mismo el venga acá tenemos un
  283. 13:57programa que queramos entonces vamos a
  284. 14:01ejecutar
  285. 14:05pero oh sorpresa no vemos absolutamente
  286. 14:11no vemos absolutamente nada
  287. 14:15es decir se crearon los hilos pero
  288. 14:19evidentemente ningún hilo
  289. 14:21se le dio tiempo de ese truco para hacer
  290. 14:23un frente de phil mostrar algún número
  291. 14:25aleatorio si está bien vamos a ver qué
  292. 14:30es lo que sucede
  293. 14:31acá aparentemente lo que está sucediendo
  294. 14:33es que hemos creado los cielos
  295. 14:37se han puesto en funcionamiento
  296. 14:39planificador pero el problema es que
  297. 14:42está terminando el programa
  298. 14:44el programa principal que es quien
  299. 14:46contiene a los siglos vivimos en la
  300. 14:48teoría de ambos modelos sería un
  301. 14:51procesos pesados que contienen en su
  302. 14:52interior a diferentes y los procesos
  303. 14:55livianos ese es el modelo de y lo que
  304. 14:57estamos trabajando ahora son hilos
  305. 14:59también el usuario y a nivel de proceso
  306. 15:02en sí en linux no planifican los silos
  307. 15:05por separado como como si fueran otros
  308. 15:08procesos pesados independientes sino que
  309. 15:10en realidad son los que están
  310. 15:11planificados a través de la librería
  311. 15:13sonidos del del programa de usuario y/o
  312. 15:16sobre el estrés que bueno se han
  313. 15:18planificado por la línea entre quería y
  314. 15:22por lo tanto están supeditados programa
  315. 15:24principal siempre ahora con principal
  316. 15:26terminal terminando vecino que puede
  317. 15:30estar sucediendo es que se crea un hilo
  318. 15:33se pone en manos del planificador se
  319. 15:36quiere otros hilos o por el bueno de
  320. 15:38planificador del inglés
  321. 15:39y cuando el planificador está por
  322. 15:41decidir a quién le da spv terminó el
  323. 15:44programa principal por lo cual termina
  324. 15:46también todo el código de planificadores
  325. 15:48la propia librería pétrea así que una
  326. 15:52cosa que podríamos hacer acá sería qué
  327. 15:55pasa si podemos
  328. 15:58un slim y acá podemos lograr
  329. 16:03si logramos ver algo nos inserta en un
  330. 16:06efecto nuevo esto
  331. 16:10y como podemos ver ahí
  332. 16:14como podemos ver ahí ahí tuvimos una
  333. 16:16ejecución si contamos tenemos dos cuatro
  334. 16:20seis ocho diez veces en hilo dos y dos
  335. 16:24cuatro seis ocho diez veces también el y
  336. 16:27logró que se que se ejecutó el
  337. 16:30planificador decidió ejecutar primero
  338. 16:34dos
  339. 16:40son un poco las interacciones
  340. 16:43y realmente con la ráfaga de ese
  341. 16:47producto y le dio a él eso fue
  342. 16:49suficiente para que haga toda su tarea
  343. 16:51entonces por eso llegó a el final de las
  344. 16:53diez vueltas sin términos
  345. 16:56bien pero bueno esto no es algo
  346. 17:00no es algo muy
  347. 17:03muy apropiado de hacer porque no es una
  348. 17:08buena técnica ni una buena idea de
  349. 17:12planificar hilos en funciones lic decir
  350. 17:14lo podríamos decir bueno vamos a demorar
  351. 17:16a una y tres segundo porque yo asumo de
  352. 17:20que y lo uno y lo dos la suma de los
  353. 17:23esfuerzos y los trabajos que tienen que
  354. 17:25hacer cada uno de estos hilos en menos
  355. 17:27de tres segundos va a estar completo y
  356. 17:30entonces luego de esos tres segundos que
  357. 17:32finalicen medín éste sería suficiente
  358. 17:36porque eso está en función de cómo está
  359. 17:38la carga de trabajo de esta máquina en
  360. 17:40este momento etcétera etcétera así que
  361. 17:42en realidad no podemos presumir tiempos
  362. 17:45de ejecución de nada si los tiempos de
  363. 17:47ejecución son totalmente variables o
  364. 17:49supeditados al planificador de procesos
  365. 17:52así que en realidad acá lo que
  366. 17:54corresponde hacer sería que en medellín
  367. 17:57no termine su ejecución hasta que no
  368. 18:01hayan finalizado estos hilos
  369. 18:04bien por eso lo podemos hacer haciendo
  370. 18:08tres de tres
  371. 18:16hoy
  372. 18:18mi impresión recibe algo de tipo de
  373. 18:21petrer
  374. 18:25algo de tipo p 3 y que 1
  375. 18:29red bull y la posibilidad de obtener el
  376. 18:34retorno del hijo sé que lo que va a ser
  377. 18:38esta función va a esperar para que el
  378. 18:41hilo
  379. 18:42que uno indica que éste finalice
  380. 18:46mientras tanto mientras tanto digamos él
  381. 18:49y lo que él llamó a esta función va a
  382. 18:53quedar bloqueado esta función sólo pudo
  383. 18:56sumar desde el medio como sumar desde
  384. 18:57otro hilo también lo podría hacer una
  385. 18:59cadena de hilos que sólo están esperando
  386. 19:01unos con otros
  387. 19:02la finalización podría partir un
  388. 19:05problema en un montón de digamos de
  389. 19:09hilos que tienen que hacer una
  390. 19:11coordinación entonces acá tenemos una
  391. 19:13sincronización bastante potente por mi
  392. 19:15consenso puedo hacer que un hilo espere
  393. 19:18por la finalización de otro y es en este
  394. 19:21caso debe decir que voy a esperar la
  395. 19:24finalización del hilo uno rosado por el
  396. 19:28número saco
  397. 19:32puede suponer
  398. 19:34creo
  399. 19:35[Música]
  400. 19:39no
  401. 19:42y no
  402. 19:47si este mensaje sabemos qué
  403. 19:54social
  404. 19:591
  405. 20:0512
  406. 20:12[Música]
  407. 20:191
  408. 20:22bien creamos un hilo creamos un hilo por
  409. 20:26la finalización de 1
  410. 20:309
  411. 20:35así que por ahora solamente vamos a
  412. 20:38hacerlo con el hilo
  413. 20:41sí
  414. 20:43cumplamos
  415. 20:46los frutales
  416. 20:51digamos los mensajes en la consola que
  417. 20:53ejecutamos en programa
  418. 20:56he creado uno
  419. 20:58así que se creó desde el héroe se puso
  420. 21:01en planificación
  421. 21:05después airlines entero por la
  422. 21:07finalización de hilo
  423. 21:09fíjense ustedes que vemos son los
  424. 21:11ángeles line tiene que haber quedado
  425. 21:12bloqueado en ese momento
  426. 21:14el hilo correspondiente
  427. 21:17porque él si es un hilo en el proceso
  428. 21:19principal fíjense ustedes que si el
  429. 21:21medio tiempo de cpu al libro 2 entonces
  430. 21:24avanzó la ejecución del libro 2 por el
  431. 21:28cual main no estaba esperando y
  432. 21:30esperando por la finalización del 1
  433. 21:34entonces tuvimos suerte del productor
  434. 21:38porque le dio tiempo ese prueba y los
  435. 21:40dos
  436. 21:41entonces él completó la tarea de los dos
  437. 21:43como que luego le dio tiempo spv y lo 1
  438. 21:47cuando finaliza y luego uno recién ahí
  439. 21:51se desbloquea main y entonces ahí
  440. 21:53podemos ver el fin del 9 pero bueno esto
  441. 21:57es un programa peligroso porque si en
  442. 21:59realidad le da tiempo de ese producto
  443. 22:02primero llegamos allí lo uno esté podría
  444. 22:06darse la situación en donde finaliza el
  445. 22:10main y no le dé oportunidad de ejecución
  446. 22:12allí lo que no puede influir
  447. 22:16o hacer que el planificador de ellos
  448. 22:19decida algo que yo quiero pero si yo
  449. 22:21hubiera dado tiempo de ser primero el
  450. 22:23óvulo estuviera finalizado y lo juro
  451. 22:25mira finalizó men y los dos no hubieran
  452. 22:27tenido oportunidad de gestión
  453. 22:33podríamos hacer una prueba no podemos
  454. 22:38forzar
  455. 22:40sí
  456. 22:45el resultado
  457. 22:5020
  458. 22:53si tengo el resultado que esperaba
  459. 22:56es decir creamos en los dos silos espero
  460. 22:59con la finalización del libro que enseño
  461. 23:01ustedes que correo el hilo 1 porque yo
  462. 23:03le puse un slip al hilo dos para forzar
  463. 23:05la detención del hilo 2 del correo el
  464. 23:09hilo
  465. 23:101 sin problemas finalizó como online
  466. 23:13solamente espera por el hilo 1 finalizó
  467. 23:15main y el código del olor no se pudo
  468. 23:18ejecutar nombres y ese es un programa y
  469. 23:20el correo por la mitad según la mitad de
  470. 23:22trabajo sin tenemos que ejecutar los
  471. 23:24cielos en términos en realidad
  472. 23:26ejecutando el grosor
  473. 23:27bien vamos a sacar este hip
  474. 23:32y en definitiva nuestro problema es que
  475. 23:35me está esperando solamente por el kilo
  476. 23:391 ahora vamos a hacer que me espere por
  477. 23:42la finalización de hilo 2 tarde
  478. 23:46simplemente tenemos que hacer esto
  479. 23:49sacamos todos los slips
  480. 23:55[Música]
  481. 23:57y vamos a ejecutar y ahí sí tenemos una
  482. 24:05ejecución más razonable este proceso
  483. 24:08donde hemos creado los dos hilos el hilo
  484. 24:11uno fíjense ustedes que generaba números
  485. 24:13aleatorios de dos cifras
  486. 24:14como pueden ver el tercer dígito está
  487. 24:16siempre en cero y seguimos generando
  488. 24:19números diferentes y unos medios
  489. 24:22parecidos por un frente su definitiva
  490. 24:26le dio tiempo en spv y luego uno siempre
  491. 24:29en este caso el planificador decide eso
  492. 24:31es realmente muy rápido lo que hacen es
  493. 24:34bastante normal que esto suceda correcto
  494. 24:37solamente el hilo 1
  495. 24:41este
  496. 24:43el tiempo de siempre huarmey por un
  497. 24:46instante que se desbloqueó porque
  498. 24:47terminó el sol con respecto al y logró
  499. 24:50el 1 finalizó entonces me dice que
  500. 24:52estaba bloqueado esperando por el 1
  501. 24:55este es el desbloqueo el 1 había
  502. 24:57terminado
  503. 24:58pero inmediatamente después le dio
  504. 25:02tiempo de s&p uva y los dos luego le dio
  505. 25:05tiempo de se produjo line dijesen que
  506. 25:08sucedió acá que me dijo hacer uso link
  507. 25:11digamos para que en principio quedará
  508. 25:13bloqueado por la finalización esperando
  509. 25:15la finalización del hígado pero común y
  510. 25:17los dos ya estaba finalizado fíjense
  511. 25:19ustedes que inmediatamente después lo
  512. 25:22que hemos es el fin de fin de mes porque
  513. 25:25ya no hay si son un sol y sobre un hilo
  514. 25:28finalizado
  515. 25:31no me va a bloquear o te va a seguir su
  516. 25:35ejecución el hilo pues ya sabemos que ha
  517. 25:37finalizado entonces no se queda
  518. 25:39bloqueado indefinidamente el nuevo pre
  519. 25:41destino sino que ya sabe que termina el
  520. 25:43hilo por lo tanto no vuelve
  521. 25:46para quedar en espera bueno esta es una
  522. 25:49sincronización muy básica y elemental
  523. 25:54muy básica elemental de un proceso
  524. 25:57principal que crea los silos y luego así
  525. 25:59un sueño cada uno de esos hilos que
  526. 26:01acaba de crear para que el proceso
  527. 26:05principal no finalice hasta que todos
  528. 26:08los siglos que él crea hayan finalizado
  529. 26:11dónde está esta es una manera correcta
  530. 26:13de ambos realmente de programar hilos
  531. 26:16para que los chinos no nos queden
  532. 26:20digamos no existe el concepto de y lugar
  533. 26:24falta de algunos procesos pesados meter
  534. 26:26nuevos procesos huérfanos sino que en
  535. 26:29realidad acá
  536. 26:34veamos
  537. 26:38si bien digo se aplica el concepto de
  538. 26:40huérfano porque en realidad no puede un
  539. 26:43hilo correr si en el programa principal
  540. 26:45que lo contienen entonces por eso es muy
  541. 26:46importante en el programa principal
  542. 26:48simple termine último con respecto a los
  543. 26:51signos y bueno vamos a hacer otra prueba
  544. 26:54para poner uno
  545. 26:59en medio de estos foros
  546. 27:02qué sucede si las tareas encomendadas
  547. 27:06para cada uno de estos hilos este por
  548. 27:09dar un poco más de tiempo según es mucho
  549. 27:12tiempo
  550. 27:14segundos mucho tiempo fíjense ustedes
  551. 27:17main queda clavado este después de haber
  552. 27:21creado y lo uno y luego queda clavado
  553. 27:23por la finalización del glóbulo y
  554. 27:24fíjense cómo se van alternando en la
  555. 27:27planificación como el hilo tarda
  556. 27:30demasiado lo cual éste le pusiera el
  557. 27:32medio se van alternando la planificación
  558. 27:35o la ejecución entre el uno y los dos
  559. 27:40bueno alternando uno u otro
  560. 27:44la planificación entre ellos simplemente
  561. 27:47esta operación ha alterado la
  562. 27:49planificación o para demorar financiando
  563. 27:52t de que demoró más el código que eso es
  564. 27:54algo muy normal que puede pasar en la
  565. 27:56ejecución normal de una máquina sin
  566. 27:58embargo el código sigue funcionando
  567. 27:59porque porque hicimos una correcta
  568. 28:02sincronización utilizando un show si lo
  569. 28:05mismo por ejemplo se sacó ahora una
  570. 28:08llave y solamente demoró un hilo u otro
  571. 28:13el código también tendría que funcionar
  572. 28:16por más que un hilo vaya más rápido que
  573. 28:19otro hilo
  574. 28:21tendría que funcionar
  575. 28:24sin permitiendo que los dos hilos
  576. 28:28complete sus tareas fíjense que en aquel
  577. 28:30momento tuvo casi todas las empleos y
  578. 28:32los dos y luego el kilo uno
  579. 28:36que tenía la de word
  580. 28:39y las salidas de espalda ya digamos
  581. 28:41sigue siendo correcta en euros y los
  582. 28:43ejecutaron imagine finaliza siempre por
  583. 28:47último de los siglos bueno estos son
  584. 28:53pequeño ejemplo entonces de hilos como
  585. 28:58pueden ver ustedes perón tipo de la
  586. 29:00función es muy simple carne bueno si los
  587. 29:02tenemos petric trade para crear los
  588. 29:06hilos y ponerlos a la cola y listo para
  589. 29:09que en el momento se ejecuten y p3 de
  590. 29:11join para hacer una sincronización
  591. 29:14básica digamos es muy similar el wake
  592. 29:18the way un proceso es pesado pero acá
  593. 29:22estamos en un suave índigo para esperar
  594. 29:24la finalización del 1 y de los dos es
  595. 29:26una sincronización básica y normal
  596. 29:28digamos en una aplicación de elx bueno
  597. 29:31vamos a hacer otras cosas bastante más
  598. 29:34complicadas con ellos estos como para
  599. 29:37comenzar así que bueno nos vemos en la
  600. 29:39próxima muchas gracias

About this transcript

This page contains the full transcript of Sistemas Operativos, Creacion y Join de POSIX Threads (Hilos) by Guillermo Cherencio, generated from the public captions YouTube serves with the video. The transcript has 3,642 words across 600 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.