LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 817|回复: 3

编程时用不用考虑这个:

[复制链接]
发表于 2009-2-2 15:31:41 | 显示全部楼层 |阅读模式
bash中管道使用很频繁,但这样会不会出问题,程度员要不要考虑一下它

cat a.c b.c > b.c

这个命令,如果缓冲(硬盘的缓冲和内存)不足,是不是一直循环下去

同样我们写程序,从一个文件读源信息,终端输出同一个文件,会不会导致读出的信息不对

我们编程时针对这个现象要如何去考虑呢
发表于 2009-2-3 10:32:57 | 显示全部楼层
楼主最好先试试上面命令的执行结果再作结论。

至于你的程序里面是否需要判断,你试过就知道。

不试试?试过再问问题。
回复 支持 反对

使用道具 举报

发表于 2009-2-3 21:25:17 | 显示全部楼层
这些个问题在操作系统原理里边都讨论过。

你看看同步,互斥,原子操作,锁这些章节会明白一点。他们是用来解决这类问题的。当然其实没这么难。

你说的这些操作系行为和具体的结果依赖于操作系统和他提供的API行为。
这些异常结果不一定会发生。可能提供的这些功能i已经考虑到了很多情况。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-4 17:48:05 | 显示全部楼层
如果是用锁。。。来控制,如果a.c和b.c都很大(几十G), 是不是会出现无法重定向到b.c,还是直接用a.c盖掉了b.c,不明白,毕竟有两个句柄要开
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表