SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
Program ación Mu ltihilo

    Threads ó Hilos de ejecución

    ➢
                 Una instancia de ejecución en un programa,  pero 
                     




                                    
Program ación Mu ltihilo

    Threads ó Hilos de ejecución

    ➢
                 Una instancia de ejecución en un programa,  pero 
               más ligera que un proceso.
    ➢
                 Con lo que un proceso podría tener varios              
                        Threads de ejecución.        



                                      
Program ación Mu ltihilo

    Threads ó Hilos de ejecución

    ➢
                 Una instancia de ejecución en un programa,  pero 
               más ligera que un proceso.
    ➢
                 Con lo que un proceso podría tener varios              
                        Threads de ejecución.  
    ➢
                 Todos contenidos en él y compartiendo los             
               mismos  recursos    
                                       
Program ación Mu ltihilo

       Sabemos trabajar con multitarea:
       
          Usando fork y exec, ejecutamos varios programas a   
          la vez.
          




                                 
Program ación Mu ltihilo

       Sabemos trabajar con multitarea:
       
          Usando fork y exec, ejecutamos varios programas a   
          la vez.
          ¿Qué aplicamos si lo que queremos ejecutar son 
          varias funciones a la vez, ó  la  misma función            
           invocarla varias veces?
         
                                   
Program ación Mu ltihilo

       Sabemos trabajar con multitarea:
       
          Usando fork y exec, ejecutamos varios programas a   
          la vez.
          ¿Qué aplicamos si lo que queremos ejecutar son 
          varias funciones a la vez, ó  la  misma función            
           invocarla varias veces?
          Usaremos Threads, funciones de la librería
 
          pthread.                 
Program ación Mu ltihilo

       
      Antes de pasar a un caso de estudio, veamos si 
     estamos de acuerdo con la siguiente afirmación:




                               
Program ación Mu ltihilo

       
      Antes de pasar a un caso de estudio, veamos si 
     estamos de acuerdo con la siguiente afirmación:
              Un  thread es a una función, 
       lo que un proceso es a un programa,
       un environment en el cual se ejecuta.



                               
     
Program ación Mu ltihilo

       Casos de estudio
      Conseguir mensajes animados en salida         
    


        estandard.
      Replantear el servidor web, manipulando        
    


       peticiones  simultáneas sin comenzar nuevos 
       procesos


                           
Program ación Mu ltihilo

        Tenemos ya algo?
      ¿
         1.   mensajes animados 
          2 . servidor web, multihilo


       En el primero, usaremos funciones de la     
     •


       librería   curses
      En el segundo nos basamos en el servidor  
     •



 
       web  multitarea        
Program ación Mu ltihilo

     ¿Cómo pueden comunicar los Threads? 
    Al igual que cualquier función del mismo proceso, los 
    threads comparten las variables globales. 




                                 
Program ación Mu ltihilo

     ¿Cómo pueden comunicar los Threads? 
    Al igual que cualquier función del mismo proceso, los 
    threads comparten las variables globales.  
    Accesos simultáneos a memoria es un método simple 
    pero peligroso, ésta es una característica de los threads. 




                                  
Program ación Mu ltihilo

     ¿Cómo pueden comunicar los Threads? 
    Al igual que cualquier función del mismo proceso, los 
    threads comparten las variables globales.  
    Accesos simultáneos a memoria es un método simple 
    pero peligroso, ésta es una característica de los threads. 
    Para prevenir accesos simultáneos a los mismos valores 
    es necesario aplicar mutex, es decir, debemos prevenir 
    la corrupción de datos.   

                                  
Program ación Mu ltihilo

     Efecto de mover un mensaje en la pantalla
        funciones de la librería curses:
    initscr()        para inicializar curses y tty
    endwin()      reset tty y desactivar curses
    refresh()      pasar a screen lo que desamos
    move(r,c)     mover cursor a posición (r,c) de screen
    addstr(s)      poner string s sobre screen 
    addch(c)      poner carácter c sobre screen
    clear()          limpiar screen
                                       
Program ación Mu ltihilo

     Efecto de mover un mensaje en la pantalla
       standout()         activar modo standout (video inverso)
       standend()        desactivar modo standout
      
    ¿Qué hace la función refresh()?
          Concepto de virtual y real screen

    Recorremos los programas hello.c ­libro Molay­

                                       
Program ación Mu ltihilo

     ¿Cómo realmente trabaja sleep?
        Llamadas de sistema:  alarm() y pause()


    Nos proponemos mejor control del 'delay' ya que:
     ­ un segundo es demasiado grande en nuestro proyecto
     ­ necesitamos agregar una entrada de usuario
                       entonces aplicamos


          hanler por SIGALARM  ­  alarm(nseg)  ­  pause() 
                                
Program ación Mu ltihilo

      Intervalos de Tiempo 
       Tres timers:    real  ­  virtual  ­ profile
        Consideramos ITIMER_REAL
       struct itimerval
            it_value
            it_interval
       llamada de sistema  getitimer()  y  setitimer()


       programa ticker_demo.c  ­libro Molay­
                                       

Más contenido relacionado

Similar a Multithreads Programming

Creacion Compilados De Sl En Cd
Creacion Compilados De Sl En CdCreacion Compilados De Sl En Cd
Creacion Compilados De Sl En Cdcampus party
 
Creacion Compilados De Sl En Cd
Creacion Compilados De Sl En CdCreacion Compilados De Sl En Cd
Creacion Compilados De Sl En Cdcampus party
 
Creacion Compilados De Sl En Cd
Creacion Compilados De Sl En CdCreacion Compilados De Sl En Cd
Creacion Compilados De Sl En Cdcampus party
 
Desarrollando aplicaciones web con Zope 3
Desarrollando aplicaciones web con Zope 3Desarrollando aplicaciones web con Zope 3
Desarrollando aplicaciones web con Zope 3Roberto Allende
 
Introducción a PWA
Introducción a PWAIntroducción a PWA
Introducción a PWAJose Leiva
 
Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsDavid Calavera
 
Congreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineCongreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineNigeŗ Arce
 
¿Openerp y CMS? RadioTV
¿Openerp y CMS? RadioTV¿Openerp y CMS? RadioTV
¿Openerp y CMS? RadioTVraimonesteve
 
Training presentation getting started with project 2010 zd102559706
Training presentation   getting started with project 2010 zd102559706Training presentation   getting started with project 2010 zd102559706
Training presentation getting started with project 2010 zd102559706Aula Cloud
 
Groovy y Grails, y la pastilla roja
Groovy y Grails, y la pastilla rojaGroovy y Grails, y la pastilla roja
Groovy y Grails, y la pastilla rojaEscuela de Groovy
 
Dreamweaver cs5
Dreamweaver cs5Dreamweaver cs5
Dreamweaver cs5'Paola G
 
COMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADORCOMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADORJOSELINE
 
CURSO DE PROGRAMACION BASICA - Cap 1
CURSO DE PROGRAMACION BASICA - Cap 1CURSO DE PROGRAMACION BASICA - Cap 1
CURSO DE PROGRAMACION BASICA - Cap 1Daniel Irene
 
Software Libre, empresa y universidad.
Software Libre, empresa y universidad.Software Libre, empresa y universidad.
Software Libre, empresa y universidad.Yerbabuena Software
 
ADA 1 de informatica 3
ADA 1 de informatica 3ADA 1 de informatica 3
ADA 1 de informatica 3marisolpalma8
 

Similar a Multithreads Programming (20)

Creacion Compilados De Sl En Cd
Creacion Compilados De Sl En CdCreacion Compilados De Sl En Cd
Creacion Compilados De Sl En Cd
 
Creacion Compilados De Sl En Cd
Creacion Compilados De Sl En CdCreacion Compilados De Sl En Cd
Creacion Compilados De Sl En Cd
 
Creacion Compilados De Sl En Cd
Creacion Compilados De Sl En CdCreacion Compilados De Sl En Cd
Creacion Compilados De Sl En Cd
 
Desarrollando aplicaciones web con Zope 3
Desarrollando aplicaciones web con Zope 3Desarrollando aplicaciones web con Zope 3
Desarrollando aplicaciones web con Zope 3
 
Introducción a PWA
Introducción a PWAIntroducción a PWA
Introducción a PWA
 
Ada1 b1 eb_paola,xls
Ada1 b1 eb_paola,xlsAda1 b1 eb_paola,xls
Ada1 b1 eb_paola,xls
 
Ada1 b1 eb_paola,xls
Ada1 b1 eb_paola,xlsAda1 b1 eb_paola,xls
Ada1 b1 eb_paola,xls
 
Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y Rails
 
Congreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineCongreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engine
 
¿Openerp y CMS? RadioTV
¿Openerp y CMS? RadioTV¿Openerp y CMS? RadioTV
¿Openerp y CMS? RadioTV
 
Training presentation getting started with project 2010 zd102559706
Training presentation   getting started with project 2010 zd102559706Training presentation   getting started with project 2010 zd102559706
Training presentation getting started with project 2010 zd102559706
 
JAVA3.0
JAVA3.0JAVA3.0
JAVA3.0
 
Grails en SG08
Grails en SG08Grails en SG08
Grails en SG08
 
Groovy y Grails, y la pastilla roja
Groovy y Grails, y la pastilla rojaGroovy y Grails, y la pastilla roja
Groovy y Grails, y la pastilla roja
 
Software y simuladores.pptx
Software y simuladores.pptxSoftware y simuladores.pptx
Software y simuladores.pptx
 
Dreamweaver cs5
Dreamweaver cs5Dreamweaver cs5
Dreamweaver cs5
 
COMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADORCOMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADOR
 
CURSO DE PROGRAMACION BASICA - Cap 1
CURSO DE PROGRAMACION BASICA - Cap 1CURSO DE PROGRAMACION BASICA - Cap 1
CURSO DE PROGRAMACION BASICA - Cap 1
 
Software Libre, empresa y universidad.
Software Libre, empresa y universidad.Software Libre, empresa y universidad.
Software Libre, empresa y universidad.
 
ADA 1 de informatica 3
ADA 1 de informatica 3ADA 1 de informatica 3
ADA 1 de informatica 3
 

Más de Paulino Huerta Sanchez

Más de Paulino Huerta Sanchez (6)

Modificando authz file
Modificando authz fileModificando authz file
Modificando authz file
 
Comunicar la Política de acceso a Repositorios
Comunicar la Política de acceso a RepositoriosComunicar la Política de acceso a Repositorios
Comunicar la Política de acceso a Repositorios
 
Experiencia con Control de Versiones en las Aulas
Experiencia con Control de Versiones en las AulasExperiencia con Control de Versiones en las Aulas
Experiencia con Control de Versiones en las Aulas
 
Introducción Administración TCP/IP
Introducción Administración TCP/IPIntroducción Administración TCP/IP
Introducción Administración TCP/IP
 
Listas de Correos con Mailman
Listas de Correos con MailmanListas de Correos con Mailman
Listas de Correos con Mailman
 
BSCW en Centros Educativos
BSCW en Centros EducativosBSCW en Centros Educativos
BSCW en Centros Educativos
 

Último

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 

Último (20)

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 

Multithreads Programming

  • 1. Program ación Mu ltihilo Threads ó Hilos de ejecución ➢          Una instancia de ejecución en un programa,  pero                       
  • 2. Program ación Mu ltihilo Threads ó Hilos de ejecución ➢          Una instancia de ejecución en un programa,  pero             más ligera que un proceso. ➢          Con lo que un proceso podría tener varios                                   Threads de ejecución.            
  • 3. Program ación Mu ltihilo Threads ó Hilos de ejecución ➢          Una instancia de ejecución en un programa,  pero             más ligera que un proceso. ➢          Con lo que un proceso podría tener varios                                   Threads de ejecución.   ➢          Todos contenidos en él y compartiendo los                         mismos  recursos        
  • 4. Program ación Mu ltihilo    Sabemos trabajar con multitarea:           Usando fork y exec, ejecutamos varios programas a          la vez.           
  • 5. Program ación Mu ltihilo    Sabemos trabajar con multitarea:           Usando fork y exec, ejecutamos varios programas a          la vez.       ¿Qué aplicamos si lo que queremos ejecutar son        varias funciones a la vez, ó  la  misma función                    invocarla varias veces?          
  • 6. Program ación Mu ltihilo    Sabemos trabajar con multitarea:           Usando fork y exec, ejecutamos varios programas a          la vez.       ¿Qué aplicamos si lo que queremos ejecutar son        varias funciones a la vez, ó  la  misma función                    invocarla varias veces?       Usaremos Threads, funciones de la librería         pthread.       
  • 7. Program ación Mu ltihilo     Antes de pasar a un caso de estudio, veamos si  estamos de acuerdo con la siguiente afirmación:    
  • 8. Program ación Mu ltihilo     Antes de pasar a un caso de estudio, veamos si  estamos de acuerdo con la siguiente afirmación:          Un  thread es a una función,    lo que un proceso es a un programa,   un environment en el cual se ejecuta.    
  • 9.    
  • 10. Program ación Mu ltihilo    Casos de estudio   Conseguir mensajes animados en salida               estandard.   Replantear el servidor web, manipulando             peticiones  simultáneas sin comenzar nuevos     procesos    
  • 11. Program ación Mu ltihilo     Tenemos ya algo? ¿ 1.   mensajes animados       2 . servidor web, multihilo   En el primero, usaremos funciones de la      •   librería   curses  En el segundo nos basamos en el servidor   •     web  multitarea  
  • 12. Program ación Mu ltihilo  ¿Cómo pueden comunicar los Threads?  Al igual que cualquier función del mismo proceso, los  threads comparten las variables globales.     
  • 13. Program ación Mu ltihilo  ¿Cómo pueden comunicar los Threads?  Al igual que cualquier función del mismo proceso, los  threads comparten las variables globales.   Accesos simultáneos a memoria es un método simple  pero peligroso, ésta es una característica de los threads.     
  • 14. Program ación Mu ltihilo  ¿Cómo pueden comunicar los Threads?  Al igual que cualquier función del mismo proceso, los  threads comparten las variables globales.   Accesos simultáneos a memoria es un método simple  pero peligroso, ésta es una característica de los threads.  Para prevenir accesos simultáneos a los mismos valores  es necesario aplicar mutex, es decir, debemos prevenir  la corrupción de datos.       
  • 15. Program ación Mu ltihilo  Efecto de mover un mensaje en la pantalla     funciones de la librería curses: initscr()        para inicializar curses y tty endwin()      reset tty y desactivar curses refresh()      pasar a screen lo que desamos move(r,c)     mover cursor a posición (r,c) de screen addstr(s)      poner string s sobre screen  addch(c)      poner carácter c sobre screen clear()          limpiar screen    
  • 16. Program ación Mu ltihilo  Efecto de mover un mensaje en la pantalla    standout()         activar modo standout (video inverso)    standend()        desactivar modo standout    ¿Qué hace la función refresh()?       Concepto de virtual y real screen Recorremos los programas hello.c ­libro Molay­    
  • 17. Program ación Mu ltihilo  ¿Cómo realmente trabaja sleep?     Llamadas de sistema:  alarm() y pause() Nos proponemos mejor control del 'delay' ya que:  ­ un segundo es demasiado grande en nuestro proyecto  ­ necesitamos agregar una entrada de usuario  entonces aplicamos       hanler por SIGALARM  ­  alarm(nseg)  ­  pause()     
  • 18. Program ación Mu ltihilo   Intervalos de Tiempo     Tres timers:    real  ­  virtual  ­ profile     Consideramos ITIMER_REAL    struct itimerval         it_value         it_interval    llamada de sistema  getitimer()  y  setitimer()    programa ticker_demo.c  ­libro Molay­