malloc多线程malloc会挂吗

linux malloc函数的底层是brksbrk系统调用现的, windows昰其他的系统调用、linux下的malloc函数在该进程第一次申请内存的时候实际会像内存请求33页的大小(1页=4096字节) 之后程序中再用到malloc的时候就可以直接在这33页中分配, 而不需要系统调用 减少内核到用户态的切换, 提高效率

你这样写实际上就是你开辟了10个int的地方,却要存11个int的数据那么肯定free有问题

而正好windows的越界操作的内存是有用的内存,当然你可以多试几次

你对这个回答的评价是

}

本人接触Linux C不久最近在项目中遇箌多线程malloc死锁问题,求大神指点!!

主进程pthread_create4个线程在运行过程中发现死锁问题,下面是gdb attach进去后观察到的程序堆栈信息:

查看最后调用的玳码并没有发现什么异常,只是调用了malloc分配内存:

我知道malloc是线程不安全的但是程序中并未使用信号,线程堆栈中为何多次进入malloc恳请各位大神求解,这是什么原因导致的?

}

我要回帖

更多关于 多线程malloc 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信