首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

linux c 多线程编程 system函数是否是可重入的!该如何解决

2012-04-06 
linux c 多线程编程system函数是否是可重入的!问题:如标题谢谢![解决办法]这个好像不可重入;因为它也用到

linux c 多线程编程 system函数是否是可重入的!
问题:如标题

谢谢!

[解决办法]
这个好像不可重入;因为它也用到了全局变量errno;
用到了全局变量,静态变量,I/O相关操作,malloc相关操作都不可重入
[解决办法]
在我的印象中,system是不可重入的。

楼下的各位,帮我确定下。


[解决办法]
应该不是吧,C库大部分都不是线程安全的
[解决办法]

探讨
没有很明确的回答吗?谢谢

[解决办法]
malloc是线程安全的。是否可重入跟是否线程安全这两个概念还是有点区别的。

system基本就等于fork + exec, 理论上是没啥问题,具体我也不清楚,呵呵

探讨
这个好像不可重入;因为它也用到了全局变量errno;
用到了全局变量,静态变量,I/O相关操作,malloc相关操作都不可重入

[解决办法]
探讨

话又说回来,exec系列的函数一般也要配合fork使用的。这样看来,system应该是安全的啦。

[解决办法]
不行。

热点排行