Frena l'entusiasmo. Se utilizzi quella funzione, dovrai avere un singolo buffer per ogni singolo thread. Se hai trenta thread, dovrai fornire trenta buffer diversi e rinunciare al buffer circolare.
Non so se è questo quel che vuoi esattamente.
In pratica avrai ottenuto un thread local storage.