malloc()
函数是可重入的吗?
发布于 2010-09-20 22:50:36
以下是glibc的malloc.c文件的摘录:
线程安全:除非定义了NO_THREADS,否则线程安全
假设默认情况下没有定义NO_THREADS,那么至少在linux上,malloc是线程安全的。
发布于 2009-05-13 02:32:34
这取决于您正在使用的C运行时库的实现。例如,如果你正在使用MSVC,那么有一个编译器选项可以让你指定你想要构建的库的版本(例如,一个支持多线程的运行时库,不管它是不是踏板安全)。
发布于 2009-05-13 03:02:28
不,它不是线程安全的。实际上你的C库中可能有一个malloc_lock()
和malloc_unlock()
函数。我知道这些是为Newlib库而存在的。我不得不用它来为我的处理器实现互斥,它在硬件上是多线程的。
https://stackoverflow.com/questions/855763
复制相似问题