none
Teoria del GC, como implementar IDisponse.. ? RRS feed

  • Pregunta

  • Alguien sabe de algun sitio o documento para encontrar informacion referente a la implementacion de IDisponse, como el GC destruye los objetos, como le asigna las prioridades para eliminarlos, y cuestiones relacionadas...

    Por ejemplo cuando le asigno null a una clase instanciada.. el gc la destruye?

    Tengo varias preguntos de ese tipo, asi que cualquier ayuda sera bien agradecida.

    martes, 12 de febrero de 2008 18:58

Respuestas

  •  José Franco Escribió:
    Alguien sabe de algun sitio o documento para encontrar informacion referente a la implementacion de IDisponse, como el GC destruye los objetos, como le asigna las prioridades para eliminarlos, y cuestiones relacionadas...

    Por ejemplo cuando le asigno null a una clase instanciada.. el gc la destruye?

    Tengo varias preguntos de ese tipo, asi que cualquier ayuda sera bien agradecida.

     

    Hola, a ver si puedo ayudar,

     

    si esta respuesta es lo que estas buscando no olvides marcarla como correcta.

     

    voy a comenzar recomendandote unos libros que hablan acerca del tema. GC. Manejo de la memoria en .NET. Objetos Grandes(+20kb). Generaciones(0, 1, 2). Implementación IDisposable, etc

     

    1.- CLR via C#

    2.- Expert Dot .NET 2.0 IL Assembler

     

    No obstante podes obtener información en internet, aca debajo te dejo un link a una página que comenta bastante acerca de este gran tema de forma centralizada:

     

    http://www.jedf.com/es/art/a0001/articulo_0001.htm

     

    Ya luego con dichos conceptos deberías referirte a MSDN.

     

    Pregunta que hiciste de forma explícita:

     

    ¿Cuándo le asigno null a una clase instanciada.. el gc la destruye? No en ese preciso instante, sino cuando lo considera correcto. Para mas información ver Manejo de Memoria dentro del link y en libros.

     

    Si te sugiera esponteamente a partir de esta respuesta, si lograrís dicho efecto implementando IDisposable en tu clase, te comento que tampoco lo lograrías, la implementación de idisposable en pocas palabras, es una buena práctica para desalojar de la memoria recursos NO manejados y para evitar el llamado al destructor de nuestra clase, que en algunos casos puede ser peligroso si lo utilizamos indebidamente, hasta el punto de abotar nuestra aplicación por falta de memoria si trabajaramos con objetos denominados "GRANDES". Entre otros temas. Para mas información nuevamente, referite al link en la parte de implementación de IDisposable y mismo a MSDN.

     

    Saludos,

     

    martes, 12 de febrero de 2008 19:26

Todas las respuestas

  •  José Franco Escribió:
    Alguien sabe de algun sitio o documento para encontrar informacion referente a la implementacion de IDisponse, como el GC destruye los objetos, como le asigna las prioridades para eliminarlos, y cuestiones relacionadas...

    Por ejemplo cuando le asigno null a una clase instanciada.. el gc la destruye?

    Tengo varias preguntos de ese tipo, asi que cualquier ayuda sera bien agradecida.

     

    Hola, a ver si puedo ayudar,

     

    si esta respuesta es lo que estas buscando no olvides marcarla como correcta.

     

    voy a comenzar recomendandote unos libros que hablan acerca del tema. GC. Manejo de la memoria en .NET. Objetos Grandes(+20kb). Generaciones(0, 1, 2). Implementación IDisposable, etc

     

    1.- CLR via C#

    2.- Expert Dot .NET 2.0 IL Assembler

     

    No obstante podes obtener información en internet, aca debajo te dejo un link a una página que comenta bastante acerca de este gran tema de forma centralizada:

     

    http://www.jedf.com/es/art/a0001/articulo_0001.htm

     

    Ya luego con dichos conceptos deberías referirte a MSDN.

     

    Pregunta que hiciste de forma explícita:

     

    ¿Cuándo le asigno null a una clase instanciada.. el gc la destruye? No en ese preciso instante, sino cuando lo considera correcto. Para mas información ver Manejo de Memoria dentro del link y en libros.

     

    Si te sugiera esponteamente a partir de esta respuesta, si lograrís dicho efecto implementando IDisposable en tu clase, te comento que tampoco lo lograrías, la implementación de idisposable en pocas palabras, es una buena práctica para desalojar de la memoria recursos NO manejados y para evitar el llamado al destructor de nuestra clase, que en algunos casos puede ser peligroso si lo utilizamos indebidamente, hasta el punto de abotar nuestra aplicación por falta de memoria si trabajaramos con objetos denominados "GRANDES". Entre otros temas. Para mas información nuevamente, referite al link en la parte de implementación de IDisposable y mismo a MSDN.

     

    Saludos,

     

    martes, 12 de febrero de 2008 19:26
  • Una eexplicaion directamente desde la fuente:

     

    http://msdn2.microsoft.com/es-es/library/f144e03t.aspx

    martes, 12 de febrero de 2008 20:11
  • Se agradece los links, ya tengo lo que me hacia falta para profundizar con estos temas.

    Gracias.
    miércoles, 13 de febrero de 2008 0:08
  • No olvides maercar todas las respuestas que consideres como correctas.
    miércoles, 13 de febrero de 2008 1:59