C++: comment créer de thread local/global variable

dans ce code:

int foo() {
   static int x;
}

est le x global pour tous les threads ou local dans chaque thread? Ou dépend d'un compilateur du pavillon et/ou le compilateur, donc je ne sais vraiment ce que c'est à partir du code?

Plusieurs questions (qui sont tous des indépendants à partir de compilateur et les drapeaux de compilation et d'OS):

  1. Comment puis-je créer une variable statique qui est globale pour tous les threads?
  2. Comment puis-je créer une variable statique qui est local à chaque thread?
  3. Comment puis-je créer une variable globale qui est globale pour tous les threads?
  4. Comment puis-je créer une variable globale qui est local à chaque thread?

Je suppose que ce n'est pas en C++. (Est-il dans C++0x?) Une augmentation des lib qui peut faire cela?

OriginalL'auteur Albert | 2010-09-03