Entiendo que crear demasiados subprocesos en una aplicación no es lo que podría llamar un "buen vecino" para otros procesos en ejecución, ya que los recursos de CPU y memoria se consumen incluso si estos subprocesos están en un estado de suspensión eficiente.¿Cuánta memoria consume un hilo cuando se creó por primera vez?
Lo que me interesa es esto: ¿Cuánta memoria (plataforma win32) está siendo consumida por un hilo de dormir?
Teóricamente, supongo que en algún lugar en la región de 1 mb (ya que este es el tamaño de pila predeterminado), pero estoy bastante seguro de que es menor que esto, pero no estoy seguro de por qué.
Cualquier ayuda sobre esto será apreciada.
() La razón por la que estoy preguntando es que estoy considerando introducir un grupo de subprocesos, y me gustaría entender cuánta memoria puedo guardar creando un grupo de 5 subprocesos, en comparación con 20 creados manualmente. hilos)
Corrección de potencial rápida: según tengo entendido, 1MB es el tamaño del tamaño de pila reservado predeterminado. Cualquier marco de pila individual es mucho más pequeño que eso. –
¡Gracias por eso, no estoy seguro de lo que estaba pensando cuando escribí eso! – Alan
Tu premisa es falsa. Crear demasiados hilos se considera ser un mal vecino porque crea muchos cambios de contexto adicionales y contaminación del caché que hacen que todo el sistema sea más lento. A menos que esté hablando de cantidades ridículas de hilos (decenas de miles), el consumo de memoria es insignificante en los sistemas modernos. –