Fråga : Multithreading till och med en omslagDLL

I've fick en ifrågasätta om att programmera för trådkassaskåp.  Förmiddag I en affärsapplikationbärare och förstår inte egentligen alla av implikationer av draga-kassaskåp att programmera.  I've fick en kund som använder en third-party DLL, som är draga-kassaskåpet/multithreaded och stateful.  Du kan öppna många oberoende perioder i denna DLL från många olika kallande program, och varje period får ett heltalhandtag som du använder som del av följande appeller till APIEN.  Alla DLL-uppehällena av dessa samtidiga perioder på multipeltrådar avskiljer, och allt fungerar great.

So här är mitt problem/utfärdar/ifrågasätter.  Min kund önskar att ha ett omslag som är skriftligt runt om bestämda delar av APIEN av denna third-party DLL.  Peka av omslag är precis att konfigurera om fungeraargumenten.  Dllen använder standart C som kallar reglar och, relies tungt på c-structs.  Dllen är inte COM, eller något, precis straight-forward statisk elektricitet C fungerar.  Min kund önskar att ta fram APIEN using ett språk som inte kan behandla structs riktigt.  Därför de önskar en omslagDLL att rejigs structsna som vilde fungerar argument using grunddatatyper.  Detta allt verkar nätt enkelt, skapar precis en ny DLL som sjalar den third-party DLLEN med någon statisk elektricitet fungerar, som gör översättningarna till och från structs och grundläggande typer.  

What som jag inte vet, är denna:  Ska det finns något dragagande krångel, om jag bygger denna enkla DLL med det rättframa statisk elektricitetomslag fungerar?  Jag behöver att göra något att undvika problem i en multi-threaded applikation?
" klar "

Svar : Multithreading till och med en omslagDLL

third-party DLL för >>the har bestämt data som delas över multipeltrådar och
>>bearbetar även, I-funderare.

Därefter den har också hjälpmedel som ser till att dessa inte försvårar varje annat, och, sedan du slår in endast appellerna, du ska för att inte störa med dessa mekanism.

>> Den är egentligen detta enkelt, är inte den?

Om det är endast lokalvariabler som du handlar med - ja det är. Lokalvariabler tilldelas på bunten, och, sedan varje tråd har dess egna bunt, denna garanteras för att vara kassaskåpet - draga-kassaskåp, formligen (benåda vitsen; nolla)
Andra lösningar  
 
programming4us programming4us