Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Multithreáding SDL

Iniciado por kikin8224, 08 de Noviembre de 2007, 04:58:23 AM

« anterior - próximo »

kikin8224

Hola a todos,
Tengo un codigo en el q hago lo sgte:
....
....
int main(int argc,char*argv[]){
.....
......
thread1 = SDL_CreateThread(thread_func1, NULL);
thread2 = SDL_CreateThread(thread_func2, NULL);

SDL_WaitThread(thread1, NULL);
SDL_WaitThread(thread2, NULL);

.....
.....
}

En la funcion thread_func1 cargo imagenes, y en la funcion thread_func2 las muestro en pantalla y luego elimino las imagenes q cargue; esto lo repito periodicante.
El problema sucede que a la tercera vez q lo repito  se vuelve muy lenta y  se cuelga :S, nose porque sucede. Sospecho que se debe a que los recursos que se reservan al crear cada hilo no son liberados...

Espero puedan ayudarme en este problema:

Topper

Y yo me pregunto, para que necesitas crear un hilo para cada tarea si realmente estás operando de forma síncrona al obligar a esperar la finalización de cada tarea con SDL_WaitThread?

No le veo beneficio alguno a ese código...

Saludos.

[EX3]

Lo del multihilo suele ser util por ejemplo para mostrar pantallas de carga dinamicas mientras en un segundo hilo se van cargando los recursos del juego, pero en este caso no tiene sentido si lo que haces en un hilo afecta directamente al resultado del segundo.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

kikin8224

Saludos a todos, gracias por las respuestas.
Talvez plantee mal el problema.
Lo que hago es una animacion de 200 imagenes, cargo  50 al iniciar el programa y mientras empiezo a  mostrar las primeras images cargo las 150 restantes. Al eliminar la animacion elimino las 150 imagenes que cargue.
Mi duda es cual seria la forma correcta de liberar los recursos de cada hilo. Para poder mostrar nuevamente la animacion.:)






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.