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

当多个进程同时进行打印输出时的有关问题

2012-08-02 
当多个进程同时进行打印输出时的问题现象如下:比如有多个进程,有结果时进行打印(echo $msg) ,且将打印的内

当多个进程同时进行打印输出时的问题
现象如下:
比如有多个进程,有结果时进行打印(echo $msg) ,且将打印的内容输入到同一个文件中,如output.file
格式如:msg="<start>\naaaaaa\nbbbbbbbbb\nccccccccc\n<end>\n"

问题是:
当多个进程同时进行打印输出时,那么$msg的情况会变乱,即A进程的结果含有B进程的结果,如:
A: msg="<start>\naaaaaa\nbbbbbbbbb\nccccccccc\n<end>\n"
B: msg="<start>\n11111\n222222222\n33333333\n<end>\n"

结果:<start>
aaaaaaaaaaa
11111111
2222222
3333333
<end>
bbbbbbbbbb
cccccccccc
<end>

请问:有什么办法让输出一个一个的顺序来?保证结果集的完整;

很类似的像PERL语言中的$sock->autoflush(1);

[解决办法]
自己对文件加锁吧。

热点排行