Questione : Multifilo attraverso un DLL dell'involucro

Ho una domanda circa la programmazione sicura del filetto.  Sono uno sviluppatore di applicazione commerciale/gestionale e realmente non capisco tutte implicazioni di programmazione filettare-sicura.  Ho un cliente che sta usando un DLL di terzi che è filettare-sicuro/multithreaded e stateful.  Potete aprire molte sessioni indipendenti in questo DLL da molti programmi di chiamata differenti ed ogni sessione ottiene una maniglia di numero intero che utilizzate come componente delle chiamate successive all'api.  Il DLL mantiene tutte queste sessioni simultanee sui filetti multipli separate e tutto funziona great.

So qui è il miei problema/edizione/domanda.  Il mio cliente vuole avere un involucro scritto intorno a determinate parti dell'api di questo DLL di terzi.  Il punto dell'involucro è appena di modificare le discussioni di funzione.  Il DLL usa la C standard che denomina le convenzioni e conta molto sugli structs di C.  Il DLL non è COM o qualche cosa, appena funzioni dirette di elettricità statica C.  Il mio cliente vuole accedere all'api using una lingua che non può trattare correttamente gli structs.  Di conseguenza, vogliono un DLL dell'involucro quel rejigs gli structs come discussioni indipendenti di funzione using i tipi di dati di base.  Questo tutto sembra abbastanza semplice, appena genera un nuovo DLL che sposta il DLL di terzi con alcune funzioni statiche che fanno le traduzioni a e da gli structs ed i tipi di base.  il

What che non conosco è questo:  Ci saranno delle complicazioni di filettatura se costruisco questo DLL semplice con le funzioni statiche dirette dell'involucro?  Devo fare qualche cosa evitare i problemi in un'applicazione multi-threaded?
class= del

Risposta : Multifilo attraverso un DLL dell'involucro

il DLL di terzi del >>the definitivamente ha dati compartecipi attraverso i filetti multipli e
>>persino processi, penso.

Allora inoltre ha mezzi per accertarsi che questi non si impedicano e poiché state spostando soltanto le chiamate, non interferirete con questi meccanismi.

>> Realmente è questo semplice, non è?

Se è soltanto variabili che locali vi occupate di - sì è. Le variabili locali sono assegnate sulla pila e poiché ogni filetto ha relativa propria pila, questa è garantita per essere sicura - filettare-sicuro, letteralmente (pardon il gioco di parole; o)
Altre soluzioni  
 
programming4us programming4us