Tag: PTHREADS
Estoy observando un comportamiento extraño usando pthreads. Ten en cuenta el siguiente código – #include <iostream> #include <string> #include <algorithm> #include <vector> #include <pthread.h> #include <unistd.h> typedef struct FOO{ int ii=0; std::string x=”DEFAULT”; }foo; void *dump(void *x) { foo *X; X = (foo *)x; std::cout << X->x << std::endl; X->ii+=1; . . . Read more
Cómo compartir un mutex entre C++ y C de manera adecuada para Windows y Linux. Primero, utilicé pthread, que funcionó correctamente en Linux y en Windows Cygwin (solo se utilizó en los archivos de C++). Luego cambié a MSYS2, que parece tener problemas con pthread. Pero cambiar a std::thread es . . . Read more
Si utilizo las funciones pthread, debo usar el argumento “-lpthread” en GCC para asegurar una vinculación adecuada. Sin embargo, ¿por qué no requiere GCC argumentos adicionales al vincularse con otras funciones estándar? Ejemplos: printf, scanf, sockets POSIX, etc.
Dado k hilos dormidos, ¿cómo puedo despertarlos en orden FIFO en c? Quiero buscar un término en un directorio y tengo una cola con los directorios. Quiero comprobar cuando la cola esté vacía y tenga k hilos dormidos. Luego, para el siguiente directorio, quiero tomar el hilo que durmió primero.
He encontrado varios códigos que utilizan el método de asignación de memoria dinámica para pasar un entero como último argumento, como en este ejemplo: void *foo(void *i) { int a = *((int *) i); free(i); } int main() { pthread_t thread; for (int i = 0; i < 10; ++i) . . . Read more