Поскольку текущий стандарт C не определяет потоки, ему нечего сказать о безопасности потоков.Всякий раз, когда у вас есть потоки, вы имеете дело с системой, которая предъявляет дополнительные требования, помимо требований основного стандарта языка C, к поведению функций стандартной библиотеки.Я не уверен, какие требования предъявляет iOS, но POSIX и Windows требуют, чтобы malloc
был поточно-ориентированным, и мне было бы трудно поверить, что любая система, разработанная после середины 90-х годов, не будет выполнять это требование.
Обратите внимание, что в следующем стандарте C1x будут определены потоки, и если в реализации есть потоки, то malloc
должен быть ориентирован на многопоточность.