Est-ce que changer la culture d'un fil de threadpool l'affecter quand il est retourné à la piscine?

StackOverflow https://stackoverflow.com/questions/1467194

Question

Si je mets le CurrentCulture d'un fil de pool de threads, ce qui se passe quand le fil se termine l'exécution et est renvoyée à la piscine de fil? Est-il obtenir son CurrentCulture réinitialisé à la valeur par défaut (quoi que cela puisse signifier), ou sera conserver la culture que j'ai mis là-dessus?

J'espère que le cadre remet à zéro le fil à un état par défaut pour se prémunir contre cela, mais ne trouve aucun document à cet effet. Le plus proche que j'ai trouvé est de la documentation MSDN pour ThreadPool :

  

Lorsque le pool de threads réutilise un fil,   il ne voit pas clairement les données en fil   stockage local ou dans les champs qui sont   marqué par la ThreadStaticAttribute   attribut. Par conséquent, les données qui   placé dans le stockage local fil par une   procédé peut être exposé à une autre   méthode qui est exécutée par le même   fil de pool de threads.

Cela semble indiquer que le fil est pas reset quand il est retourné.

J'ai essayé quelques exemples de code pour tenter de le tester, et fait semble que la culture est remis à zéro, mais je ne suis pas convaincu que je teste cela correctement le comportement que je pense que je ne suis en utilisant un petit sous-ensemble des fils du ThreadPool, et ne peut donc pas être sûr que je teste un fil qui a déjà eu son jeu de culture.

Était-ce utile?

La solution

Je ne me fierais pas sur la ThreadPool jamais remise à zéro des informations, en particulier à cause du texte que vous avez cité.

Si vous êtes inquiet au sujet de « changer » la culture de la piscine de fil, je vous le faire réinitialiser lorsque votre tâche est terminée filetée. Ceci est une tâche assez simple.

Je ne crois pas que le threadpool actuel fait cela, mais même si elle fait , il ne serait pas raisonnable de supposer que .NET 4 + 's la mise en œuvre ThreadPool ne changera pas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top