Programar en C: Semaforos POSIX

Поделиться
HTML-код
  • Опубликовано: 5 янв 2025

Комментарии • 73

  • @aeleequis
    @aeleequis 4 года назад +16

    muchas gracias, explicas de la mejor forma posible: con un ejemplo. En la universidad mucha teoría y al final uno no se entera ni papa. Gracias de verdad.

    • @benderfry94
      @benderfry94 4 года назад

      Macri llevo a masa a dabos, pero en masa prendio mas la ambicion que la Republica.
      Macri tenia y tiene las ideas acertadas, pero fallo en la practica.
      Los que se quejaban de las tarifas y tenian un estufa electrica en cada habitacion, ahora van a volver a experimentar los cortes de cristina.
      Y los que votaron a fernandez, ahora tienen tomas de tierras, liberacion de presos, manejo de la justicia, sin escuelas, la curentena mas larga del.mundo, estamos quinto en el mundo en contagiados y un dólar a $ 170. Pobreza para todos y todes.

  • @Mariana-cb1bo
    @Mariana-cb1bo 4 года назад +12

    Eres súper! nunca dejes de subir contenido. Tus ejemplos son clarísimos T-T

  • @dominmartindj
    @dominmartindj 2 года назад

    Tus videos se los recomiendo a todos los universitarios posibles de este mundo que nos representa

  • @jesua_chvgar
    @jesua_chvgar 3 года назад +4

    Adoro tus videos, tu voz es muy relajante y explicas muy bien estos temas que son relativamente complejos. Gracias por aportar mucho para que los demás podamos aprender. :D
    Saludos donde sea que estés y que estés muy bien. ¡Hasta pronto!

  • @joseivanpuga1355
    @joseivanpuga1355 5 лет назад +2

    el único video que me ayudo en este tema. Mil gracias

  • @xondiego
    @xondiego 2 года назад

    Crack, Gracias por tu esfuerzo y tener este material en Español, hasta que por fin lo puedo interiorizar.!

  • @Fran_Cisneros
    @Fran_Cisneros 3 года назад +1

    Bien explicado y conciso. Gracias por tu buen trabajo.

  • @malzar
    @malzar 5 лет назад +2

    Muchas gracias por el ejemplo, me ha ayudado a aclarar dudas que teneía con respecto semaforos e hilos

  • @DarkMonsterGFX
    @DarkMonsterGFX 4 года назад

    Sos una GROSA! Explicas excelente y temas importantes y avanzados con claridad. Por favor, seguí subiendo videos, porque de verdad aprendo mucho de ellos. Espero que subas más videos de Network programming que es un tema en el que hago agua... Saludos!

    • @WhileTrueThenDream
      @WhileTrueThenDream  4 года назад +1

      Hola.
      Me alegra d que te ayuden los videos.
      La palabra grosa no la entiendo...espero q sea algo bueno...jejeje
      Networking... ahora estoy leyendo un libro sobre el tema the illustrated network y ne está gustando, aunque de momento no tiene q ver con programar sino mas con entender conceptos, analizar trafico...

    • @DarkMonsterGFX
      @DarkMonsterGFX 4 года назад

      @@WhileTrueThenDream jajaja grosa es una palabra que usamos acá, en Argentina, quiere decir que sos crack, genia, idola, una grosa.
      Si, justo antes de ver este video me topé con ese libro pero del autor W. Richard Stevens, que sería tan bueno como el de Pattern Designs de Erich Gamma.
      Si estas interesada en networking, te recomiendo tambíen Beej's Guide to Networking Programming que es gratis.

    • @WhileTrueThenDream
      @WhileTrueThenDream  4 года назад

      Jajajja... ok!
      Gracias por el dato del libro

  • @matiaserenchun9105
    @matiaserenchun9105 3 года назад

  • @victoranaya1382
    @victoranaya1382 5 лет назад +1

    uff un inicio para no quedarme en blanco en mi clase de redes, gracias

  • @LluisAzm
    @LluisAzm 5 лет назад +1

    Muy bien explicado, muchas gracias por tu dedicación!

  • @themoldavianboy
    @themoldavianboy 3 года назад

    +1 suscriptor por explicación clara en tus videos :)

  • @Gonzalo-fu2pf
    @Gonzalo-fu2pf Месяц назад

    Excelente explicacion

  • @josueortigoza648
    @josueortigoza648 5 лет назад +3

    me gustan mucho tus videos
    pd: al fin entiendo un tema más

    • @WhileTrueThenDream
      @WhileTrueThenDream  5 лет назад

      Gracias, me alegra saberlo! :-)

    • @danielezequiel4247
      @danielezequiel4247 4 года назад +1

      A mí también me gustan un montón tus tutoriales, al fin entiendo semáforos, el tema lo aprendí de taquito.

  • @cristianpichatiesa
    @cristianpichatiesa 4 года назад

    Increíble canal, si sabes explicar programación funcional en scala o haskell de la misma forma podrías ganar muchos nuevos seguidores

  • @faqdesystem8642
    @faqdesystem8642 6 лет назад

  • @TheNameOfThisGuyIs
    @TheNameOfThisGuyIs 2 года назад

    Gracias, me ha salvado

  • @julioalvia3619
    @julioalvia3619 6 лет назад

    Poco pero espeso, gran vídeo!!!!

  • @berenda121
    @berenda121 5 лет назад +2

    Muuito bom esse vídeo. Nem falo espanhol mas entendi tranquilo.

  • @camilosantos1544
    @camilosantos1544 5 лет назад +1

    excelente video muchas gracias :D

  • @relaxingmusic1475
    @relaxingmusic1475 4 года назад

    Muy buen video!!!

  • @javierescudero6502
    @javierescudero6502 6 лет назад +1

    excelente explicacion!

  • @danielezequiel4247
    @danielezequiel4247 4 года назад

    Hola Amaia, las funciones van arriba del main ya que si se las definen abajo hay errores al compilar.

    • @WhileTrueThenDream
      @WhileTrueThenDream  4 года назад +1

      Si se definen antes de main no es necesario declararlas, y si se definen despues es preciso declararlas.

  • @oscar8677
    @oscar8677 4 года назад

    Amo esto!

  •  5 лет назад

    Me suscribo!!

  • @alanelguapoxD
    @alanelguapoxD 3 года назад

    😍😍😍

  • @xavimoreno4828
    @xavimoreno4828 3 года назад

    Gracias por este video. No obstante estoy buscando ejemplos de "counting semaphores", cuando se permite que más de un "thread" acceda al recurso compartido. No acabo de entender el mecanismo, en caso de "counting semaphores", para que no se acceda a la misma variable al mismo tiempo produciendose una inconsitencia de datos. Por mas que busco solo encuentro ejemplos de "binary semaphores". Gracias.

    • @WhileTrueThenDream
      @WhileTrueThenDream  3 года назад

      Hola. Gracias
      Desde la carrera, y de eso hace más de 10 años, no programo counting semaphore, pero los he visto en ejemplos de libros de Sistemas Operativos

  • @JuanGarcia-lo2el
    @JuanGarcia-lo2el 3 года назад

    Los bellos semáforos. Aún recuerdo que para un proyecto de programación concurrente por más que intentamos mi equipo y yo no pudimos implementar unos candados, vivo frustrado desde entonces jajajaja. :(

    • @WhileTrueThenDream
      @WhileTrueThenDream  3 года назад +1

      Yo en la uni los estudié y se me olvidaron después de muuchos años.... y en el trabajo me ha tocado usarlos con muucho cuidadito. Y meteduras de pata graves con los semáforos he visto alguna... :-S. Jejeje. Luchar contra la frustración es parte de nuestro día a día.

    • @JuanGarcia-lo2el
      @JuanGarcia-lo2el 3 года назад

      @@WhileTrueThenDream wooow ¿de verdad los has utilizado en el trabajo? Alguna vez leí que utilizar técnicas con PThreads ya era obsoleto. La verdad es que tienen su encanto usarlos. Jaja

    • @WhileTrueThenDream
      @WhileTrueThenDream  3 года назад

      @@JuanGarcia-lo2el siii los semaforos para unas historias de un servidor y sockets y tal que no quiero recordae ... Pero lo que se suele ver más a menudos son los mutexes... Y los pthreads si se usan si...

  • @dryant
    @dryant 5 лет назад +2

    Hola! Gracias por el video, muy buena explicación, pero tengo una duda... el bloqueo del semáforo no debería ser fuera del bucle?? Ya que al hacerlo dentro del bucle bloquearía solo cada iteración y lo que nos interesa seria bloquear todas las iteraciones no?

    • @omarferrin3404
      @omarferrin3404 5 лет назад +1

      Yo pienso lo mismo, de hecho lo hice con ficheros y resulto que estas en lo correcto

    • @WhileTrueThenDream
      @WhileTrueThenDream  5 лет назад +1

      Hola!
      Ahora veo de nuevo el vídeo, que ni lo recordaba... En el ejemplo el objetivo es bloquear el recurso compartido justo antes de acceder a él y liberarlo rápidamente, así los dos hilos pueder ir accediendo al recurso compartido sin esperar a que el otro hilo termine.
      Si bloqueàramos el semáforo antes del bucle y lo liberásemos después, uno de los dos hilos accedería a él durante N iteraciones y después lo haría el otro.
      Depende de qué queramos programar definiremos el lugar adecuado de los semáforos.

    • @omarferrin3404
      @omarferrin3404 5 лет назад +1

      @@WhileTrueThenDream ​ ahora que lo dices, si buen punto, depende que que queramos programar, como en mi caso que necesitaba un orden en la escritura del fichero, gracias por la aclaración

  • @victoralvarado5799
    @victoralvarado5799 6 лет назад +1

    excelente explicacion y con una voz tan sexy como la tuya :3

  • @imandresmorales
    @imandresmorales 5 лет назад +1

  • @evelynjaninalucinyagual7445
    @evelynjaninalucinyagual7445 2 года назад

    como se llama el programa q usa?

  • @noidfrx
    @noidfrx 6 лет назад

    Gracias c:

  • @alighatorade
    @alighatorade 4 года назад +1

    Para los que no entendieron por qué los resultados son diferentes cada vez que se ejecuta les dejo la explicación -> ruclips.net/video/faZEhIHdJx8/видео.html

  • @stivencruz3022
    @stivencruz3022 5 лет назад

    Gracias por el video, tengo una duda, para crear un ejemplo de semáforos es obligatorio el uso de Threads verdad?

    • @WhileTrueThenDream
      @WhileTrueThenDream  5 лет назад

      Hola! Por definición los semáforos sirven para sincronizar acceso a recursos compartidos por procesos o hilos. Cualquier otro uso no sé decirte si tiene algún sentido... yo sólo los he usado en estos dos casos. man7.org/linux/man-pages/man7/sem_overview.7.html

  • @Abidindzn
    @Abidindzn 6 лет назад

    Podrías explicar su uso con procesos padre he hijo por ejemplo es que no consigo hacerlo de esa forma me salta un error de que no están definidas las funciones sem_wait y sem_post a pesar de que las uso igual que tu pero dentro de los dos procesos gracias

    • @WhileTrueThenDream
      @WhileTrueThenDream  6 лет назад

      Hola! Para esos dos problemas concretos te recomiendo que busques en el foro de stackoverflow.com/ Hay muchísima información, contestan muy rápido y siempre hay buenos ejemplos validados. Suerte :-)

    • @Abidindzn
      @Abidindzn 6 лет назад

      @@WhileTrueThenDream Gracias :)

  • @ElRozuK
    @ElRozuK 5 лет назад +1

    Yo estoy programando esto en Codeblocks en Windows 10 y haciendolo tal cual el video tengo un error, que indica que no está declarado el semáforo dentro de la función.
    Es cuestión de mi sistema o hay algo que se me escapa?
    Gracias! Un saludo

    • @ElRozuK
      @ElRozuK 5 лет назад +1

      Ya lo solucioné! Era porque no me había dado cuenta que el semáforo estaba declarado fuera del main.
      Ahora sí, luego de tres semanas gracias a este video pude entender semáforos :D

    • @danielezequiel4247
      @danielezequiel4247 4 года назад

      Yo tambien estoy programando en windows 10 con el codeblocks y me di cuenta de que el semaforo estaba hecho fuera del main.
      Logre comprender semaforos.

  • @Abidindzn
    @Abidindzn 5 лет назад

    Hola, estoy intentando compilar un juego en SDL en el que uso hilos y compila perfectamente con este comando: gcc -Wall -O2 -ojuego1 juego1.c `sdl-config --cflags --libs` -pthread
    hasta usar semaforos, que deja me da este error:
    /tmp/cc3PAXy8.o: En la función `thread_routine':
    juego1.c:(.text+0xc9): referencia a `sem_pos' sin definir
    /tmp/cc3PAXy8.o: En la función `thread_routine2':
    juego1.c:(.text+0x1e9): referencia a `sem_pos' sin definir
    y no entiendo porque, he probado tambien esto: gcc -Wall -O2 -ojuego1 juego1.c `sdl-config --cflags --libs` -lpthread -lrt
    y nada me sigue saliendo lo mismo he intentado buscar en el foro que me recomendaste pero no encuentro nada que me funcione :( me podrias ayudar? gracias!

    • @Abidindzn
      @Abidindzn 5 лет назад

      pd: tengo definidas las mismas librerias que en el video

    • @WhileTrueThenDream
      @WhileTrueThenDream  5 лет назад

      Hola!
      "sem_pos" ? la función es "sem_post" puede ser simplemente que faltara la "t" ?

    • @Abidindzn
      @Abidindzn 5 лет назад +1

      @@WhileTrueThenDream sisisisi era eso, soy retrasado xdd gracias por tu paciencia!

    • @WhileTrueThenDream
      @WhileTrueThenDream  5 лет назад

      @@Abidindzn jejeje. qué bien que sea solo eso, ojalá funcione bien tu juego ahora!!! ;-)

    • @Abidindzn
      @Abidindzn 5 лет назад

      @@WhileTrueThenDream gracias ^^

  • @josealcarrazpalomino8425
    @josealcarrazpalomino8425 6 лет назад

    grazie!!!

  • @danielezequiel4247
    @danielezequiel4247 5 лет назад +2

    Me gusta tu manera de programar.
    Tu voz es muy bonita, seductora y sexy 😘❤

  • @salaodxgotico
    @salaodxgotico 3 года назад

    Alguien seria tan amable de ayudarme con un problema de semaforos e hilos(he visto todos los videos del canal respecto al tema)gracias:(

  • @ricardomcgrath2643
    @ricardomcgrath2643 5 лет назад

    Transcribí del video el código (sin la opción de semáforo) y da
    toda vez que se ejecuta el valor de counter es 0.

    • @danielezequiel4247
      @danielezequiel4247 5 лет назад

      Yo tambien hice lo mismo con la opcion del semaforo en windows 10 con el codeblocks y me salió re bien y al compilar me dio el valor counter 0.

  • @gustavojoaquin_arch
    @gustavojoaquin_arch 2 года назад

    :V