Abrir multiples conexiones Sockets C

Iniciado por mester, 9 Noviembre 2015, 12:32 PM

0 Miembros y 1 Visitante están viendo este tema.

mester

Cita de: ivancea96 en 11 Noviembre 2015, 16:10 PM
Matarlo es muy bruto. En vez de eso, cambia el while(1) por una variable que compartan, y cuando quieras que se detenga, pones esa variable a 0, por ejemplo.
xdd Ya, matar es un poco bestial.
Una cuestión para aádir al programa. ¿Existe manera alguna de que el programa no consuma mucho sin necesidad de ponerle un sleep(), no sé vaciando memoria o algo?
Justicia es dar a cada uno lo que se merece

ivancea96

Consume CPU, no memoria, si no le pones sleep en algunos bucles.

Evidentemente los bucles de algoritmos no se pueden moderar con sleeps, por cuestiones de eficiencia. Pero en este caso, si lo que se hace es esperar mensajes, no importa 10 ms de retardo en leer, y a cambio, logrará sacarle un montón de peso a la CPU.

Con esto quiero decir: pon sleeps si es necesario, no hacen mal.

mester

Cita de: ivancea96 en 11 Noviembre 2015, 17:22 PM
Consume CPU, no memoria, si no le pones sleep en algunos bucles.

Evidentemente los bucles de algoritmos no se pueden moderar con sleeps, por cuestiones de eficiencia. Pero en este caso, si lo que se hace es esperar mensajes, no importa 10 ms de retardo en leer, y a cambio, logrará sacarle un montón de peso a la CPU.

Con esto quiero decir: pon sleeps si es necesario, no hacen mal.
Cierto, fallo mio la mala asignación del termino. Pero, ¿hay manera alguna para hacer que no consuma mucha CPU, sin necesidad de sleeps? Por ejemplo programas como dd en linux que están continuamente copiando datos de una lado a otro, no consumen mucho. ¿Cómo hacen esto? Me he descargado el codigo, pero xd no tengo mucha idea, he visto que utiliizan punteros y ya.
Justicia es dar a cada uno lo que se merece

ivancea96

Ten también en cuenta, que cualquierespera, ya sea espera para que el disco duro lea o escriba, ya sea espera a que se reciban datos de un socket, etc, a efectos prácticos hace en parte las veces de un sleep.