首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >malloc是线程安全的吗?

malloc是线程安全的吗?
EN

Stack Overflow用户
提问于 2009-05-13 02:17:42
回答 5查看 68.7K关注 0票数 77

malloc()函数是可重入的吗?

EN

回答 5

Stack Overflow用户

发布于 2010-09-20 22:50:36

以下是glibc的malloc.c文件的摘录:

线程安全:除非定义了NO_THREADS,否则线程安全

假设默认情况下没有定义NO_THREADS,那么至少在linux上,malloc是线程安全的。

票数 9
EN

Stack Overflow用户

发布于 2009-05-13 02:32:34

这取决于您正在使用的C运行时库的实现。例如,如果你正在使用MSVC,那么有一个编译器选项可以让你指定你想要构建的库的版本(例如,一个支持多线程的运行时库,不管它是不是踏板安全)。

票数 1
EN

Stack Overflow用户

发布于 2009-05-13 03:02:28

不,它不是线程安全的。实际上你的C库中可能有一个malloc_lock()malloc_unlock()函数。我知道这些是为Newlib库而存在的。我不得不用它来为我的处理器实现互斥,它在硬件上是多线程的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/855763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档