Единственный способ, которым я могу думать о том, что это влияет на безопасность потоков, заключается в том, что если someMethod<typename T>()
не является потокобезопасным, тогда все равно будет нормально работать с потоком на someMethod<int>()
, а другой работал на someMethod<std:string>()
до тех пор, пока отсутствие безопасности потоков не возникло из-за того, что они оба вызывали какую-то не шаблонную функцию.
Ситуация, когда что-то еще гарантирует, что только один поток выполняет определенную задачу с определенным типом одновременно, кажется довольно маловероятной.