Sì ma non puoi pretendere la botte piena e la moglie ubriaca ... se ti servono delle variabili diverse per thread, le devi allocare. Se non vuoi allocare spazio perché secondo te è sprecato, allora avrai delle variabili comuni. Non mi pare ci sia alternativa.

Puoi utilizzare delle variabili "per thread" sfruttando il

Thread Local Storage

http://msdn.microsoft.com/en-us/libr...sktop/ms686749(v=vs.85).aspx

scrivendo ad esempio

__declspec( thread ) int tls_i = 1;

ma la questione non cambia ... avrai utilizzato una variabile per thread.