Pergunta : Multithreading através de um DLL do envoltório

I've começ uma pergunta sobre a programação segura da linha.  Eu sou um colaborador da aplicação empresarial e não compreendo realmente todas as implicações da programação rosquear-segura.  I've começ um cliente que usasse um DLL da terceira que fosse rosquear-seguro/multithreaded e stateful.  Você pode abrir muitas sessões independentes neste DLL de muitos programas de chamada diferentes e cada sessão começ um punho do inteiro que você use como parte das chamadas subseqüentes ao API.  O DLL mantem todas estas sessões simultâneas em linhas múltiplas separadas e tudo trabalha great.

So aqui é meus problema/edição/pergunta.  Meu cliente quer ter um envoltório escrito em torno de determinadas partes do API deste DLL da terceira.  O ponto do envoltório é apenas reconfigurar os argumentos da função.  O DLL usa C padrão que chama convenções e confia pesadamente em structs de C.  O DLL não é COM ou qualquer coisa, apenas funções diretas da estática C.  Meu cliente quer alcançar o API using uma língua que não possa segurar structs corretamente.  Conseqüentemente, querem um DLL do envoltório esse rejigs os structs como argumentos independentes da função using tipos de dados básicos.  Este tudo parece consideravelmente simples, apenas cria um DLL novo que envolva o DLL da terceira com algumas funções de estática que fazem as traduções a e dos structs e dos tipos básicos.  o

What que eu não sei é este:  Haverá alguma complicação de rosqueamento se eu construo este DLL simples com funções de estática diretas do envoltório?  Eu preciso de fazer qualquer coisa evitar problemas em uma aplicação multi-threaded?
class= do

Resposta : Multithreading através de um DLL do envoltório

o DLL da terceira do >>the tem definitivamente os dados compartilhados através das linhas múltiplas e
>>mesmo processos, eu penso.

Então igualmente tem meios assegurar-se de que estes não se impeçam de, e desde que você está envolvendo somente as chamadas, você não interferirá com estes mecanismos.

>> É realmente este simples, não é?

Se é somente variáveis que locais você trata - sim é. As variáveis locais são alocadas na pilha, e desde que cada linha tem sua própria pilha, esta é garantida para ser segura - rosquear-seguro, literalmente (pardon a chalaça; o)
Outras soluções  
 
programming4us programming4us