La solution simple mais pas toujours adaptée : tu peux passer un paramètre supplémentaire à ta fonction, qui identifie le thread qui l'a appelé.
Sinon, pour une solution non-intrusive, il faut utiliser une variable locale de thread (sf::ThreadLocalPtr), à laquelle tu donnes une valeur différente dans chaque thread, et que tu testes dans la fonction.
Mais là encore, si ton compilo n'est pas préhistorique, utilise plutôt les équivalents qui sont disponibles dans la bibliothèque standard.