[C con Clase] Tabla de hash y concurrencia

Fernando Rodriguez ferrod20 en gmail.com
Lun Abr 13 21:37:54 CEST 2009


Gracias Programante por tu respuesta.
Creo que crear la tabla antes de compilar para que esté en el segmento
de datos estáticos sería una buena opción.
Pero: esto como sería? Tipo un arreglo estático? Mi idea es hacer una
tabla de hash propia, ya que voy a tener que tunearla para que
funcione rápido. Es decir, en algún lado voy a tener una clase
tablaDeHash o algo así.
Como hago para meter los datos ahí antes de compilar? Es esto posible?

Saludos,
Fernando

El día 13 de abril de 2009 15:21, Programante <programante en gmail.com> escribió:
> Fernando Rodriguez escribió:
>> Hola a todos:
>> Estoy construyendo una .dll que necesita acceder muy rápidamente a
>> ciertos datos.
>> Una tabla de hash en memoria es ideal para esto. Esta tabla de hash se
>> utilizará solo para lectura, en ningún caso se va a modificar la
>> misma.
>> La .dll va a ser utilizada por varios .exe a la vez
>> (concurrentemente), el problema surge en no tener que una nueva
>> instancia de la .dll cada vez que un .exe nuevo quiere utilizarla. Es
>> decir, que no se replique la tabla de hash por cada exe que la
>> utilize, x el contrario que todos los exe utilicen la misma tabla de
>> hash.
>> La pregunta es:
>> Es posible compartir una misma instancia de la .dll con los .exe?.
>> En caso de que si, voy a tener algún problema de concurrencia?
>>
>> Gracias y saludos.
> Sí se puede. Tendrás que colocarlo en un segmento compartido.
> http://msdn.microsoft.com/en-us/library/h90dkhs0%28vs.71%29.aspx
>
> Para la concurrencia, mantén un contador basado en PROCESS_ATTACH y
> PROCESS_DETACH.
> http://www.experts-exchange.com/Programming/Languages/CPP/Q_20872796.html
>
> Recuerda no usar punteros en la tabla hash.
>
> Otra opción, ya que no vas a modificarla, es crear la tabla hash antes
> de compilar de modo que esté
> en el segmento de datos estáticos, el cual se comparte.
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>




Más información sobre la lista de distribución Cconclase