不要混淆进程和线程。
假设我有以下C函数
void *AllocateMemory(int numBytes)
{
//allocate "numBytes" of memory
//return the memory address
}
如果上面的函数被这么多进程访问,比如100 PARALLEY,是否存在内存损坏或段故障的可能性?
注意:环境是多线程的。
有了流程,什么都不会发生。
对于线程,如果您的函数工作简单,并且不涉及或使用任何共享资源,那么它也应该工作。
所有进程都有自己的地址空间,因此多个进程不是问题。
对于线程,答案是它取决于您的malloc()
实现。
我遇到的大多数常见实现都是线程安全的。请参阅此问题了解更多信息
malloc线程安全吗?