Вопрос

Googling не найдут ничего. Они созданы в точке использования или являются общие детали, которые разделяются между экземплярами?

(То же самое для классов шаблонов?)

Это было полезно?

Решение

Функции шаблонов создаются при компиляционном времени. Свойство шаблона полностью ортогональна для безопасности потоков.

Другие советы

Они не более или менее безрезультатно, чем любой другой тип функции.

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

Ситуация, когда что-то еще гарантирует, что только один нить выполняет особую задачу, с определенным типом, кажется, довольно вряд ли.

Функции шаблона просто ... Шаблоны, используемые компилятором для генерации «нормальных» функций. Так что это так же, как обычные функции, нет никакой разницы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top