Cuestión : Multithreading a través de un DLL de la envoltura

Tengo una pregunta sobre la programación segura del hilo de rosca.  Soy revelador de la aplicación empresarial y no entiendo realmente todas las implicaciones de la programación roscar-segura.  Tengo un cliente que esté utilizando un DLL de tercera persona que sea roscar-seguro/con hilos múltiples y stateful.  Usted puede abrir muchas sesiones independientes en este DLL de muchos diversos programas de llamada y cada sesión consigue una manija del número entero que usted utilice como parte de llamadas subsecuentes al API.  El DLL mantiene todas estas sesiones concurrentes sobre los hilos de rosca múltiples separadas y todo trabaja great.

So aquí es mi problema/cuestión/pregunta.  Mi cliente quiere tener una envoltura escrita alrededor de ciertas partes del API de este DLL de tercera persona.  El punto de la envoltura es apenas configurar de nuevo las discusiones de la función.  El DLL utiliza C estándar que llama a convenciones y confía pesadamente en structs de C.  El DLL no es COM o cualquier cosa, apenas funciones directas de los parásitos atmosféricos C.  Mi cliente quiere tener acceso al API usar una lengua que no pueda manejar structs correctamente.  Por lo tanto, quieren un DLL de la envoltura ese los rejigs los structs como discusiones independientes de la función usar tipos de datos básicos.  Este todo parece bastante simple, apenas crea un nuevo DLL que envuelva el DLL de tercera persona con algunas funciones estáticas que hagan las traducciones a y desde structs y tipos básicos.  el

What que no sé es éste:  ¿Habrá complicaciones que roscan si construyo este DLL simple con funciones estáticas directas de la envoltura?  ¿Necesito hacer cualquier cosa evitar problemas en un uso con hilos múltiples?
class= del

Respuesta : Multithreading a través de un DLL de la envoltura

el DLL de tercera persona del >>the tiene definitivamente datos compartidos a través de los hilos de rosca múltiples y
>>incluso los procesos, pienso.

Entonces también tiene medios de asegurarse de que éstos no se obstaculizan, y puesto que usted está envolviendo solamente las llamadas, usted no interferirá con estos mecanismos.

>> ¿Es realmente este simple, no es?

Si es solamente variables locales que usted trata de - está sí. Las variables locales se asignan en el apilado, y puesto que cada hilo de rosca tiene su propio apilado, ésta se garantiza para ser segura - roscar-seguro, literalmente (pardon el retruécano; o)
Otras soluciones  
 
programming4us programming4us