Herramientas de usuario

Herramientas del sitio


threads

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
threads [2018/06/26 13:57] – [Lectores/escritores] lmateuthreads [2018/07/06 00:04] (actual) – [Productor/consumidor] lmateu
Línea 359: Línea 359:
   }   }
      
-  void consumidor(Buffer *buf) {+  void *consumidor(void *ptr) { // porque se usa en pthread_create 
 +    Buffer *buf= ptr;
     for (;;) {     for (;;) {
       Cuadro *cuadro= get(buf);       Cuadro *cuadro= get(buf);
Línea 366: Línea 367:
       mostrarCuadro(cuadro);       mostrarCuadro(cuadro);
     }     }
 +    return NULL;
   }   }
      
   void reproducirVideo() {   void reproducirVideo() {
     Buffer *buf= nuevoBuffer(60);     Buffer *buf= nuevoBuffer(60);
-    pthread_pid_t pid+    pthread_t t
-    pthread_create(&pid, NULL, (void *(*)(void *))consumidor, (void*)buf);+    pthread_create(&t, NULL, consumidor, buf);
     productor(buf);     productor(buf);
-    pthread_join(pid, NULL);+    pthread_join(t, NULL);
   }   }
 </code> </code>
threads.1530021465.txt.gz · Última modificación: 2018/06/26 13:57 por lmateu