Question : Multifile par un DLL d'emballage

J'ai une question au sujet de la programmation sûre de fil.  Je suis un lotisseur d'application économique et ne comprends pas vraiment toutes les implications de la programmation fileter-sûre.  J'ai un client qui emploie un tiers DLL qui est fileter-sûr/multifil et stateful.  Vous pouvez ouvrir beaucoup de sessions indépendantes dans ce DLL de beaucoup de différents programmes d'appel et chaque session obtient une poignée de nombre entier que vous utilisez en tant qu'élément des appels suivants à l'api.  Le DLL maintient toutes ces sessions concourantes dans les fils multiples séparées et tout fonctionne great.

So ici est mon problème/issue/question.  Mon client veut avoir un emballage écrit autour de certaines parties de l'api de ce tiers DLL.  Le point de l'emballage est juste de modifier les arguments de fonction.  Le DLL emploie C standard appelle des conventions et se fonde fortement sur des structs de C.  Le DLL n'est pas COM ou quelque chose, juste fonctions franches de la charge statique C.  Mon client veut accéder à l'api using une langue qui ne peut pas manipuler des structs correctement.  Par conséquent, ils veulent un DLL d'emballage ce des rejigs les structs en tant qu'arguments indépendants de fonction using des types de données de base.  Ce tout semble assez simple, crée juste un nouveau DLL qui enveloppe le tiers DLL avec quelques fonctions statiques qui font les traductions à et des structs et des types de base.  le

What que je ne sais pas est ceci :  Y aura-t-il des complications de filetage si je construis ce DLL simple avec des fonctions statiques franches d'emballage ?  Est-ce que je dois faire quelque chose à éviter des problèmes dans une application multifil ?
class= de

Réponse : Multifile par un DLL d'emballage

le tiers DLL de >>the a certainement des données partagées à travers les fils multiples et
>>même des processus, je pense.

Alors il a également des moyens de s'assurer que ceux-ci ne s'entravent pas, et puisque vous enveloppez seulement les appels, vous n'interférerez pas ces mécanismes.

>> Il est vraiment ce simple, n'est-ce pas?

Si c'est seulement des variables locales que vous traitez - oui il est. Des variables locales sont assignées sur la pile, et puisque chaque fil a sa propre pile, ceci est garantie pour être sûre - fileter-sûr, littéralement (pardonner le calembour ; o)
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us