请教唐先生“写入file的data顺序混乱”的问题

唐先生:
麻烦您指点一个关于写file的问题,我的程序回周期性向file写入data或提示性语句, 但奇怪的是:
打开file看到 数据或 提示性语句 并不是周期写入的,好像被分门别类的归结了,(相同的提示性语句有时就聚在一起), 在command shell运行程序时程序的输出是正确的。 请教您 如何解决这个问题呢?
非常感谢!!

如果你的“写”的顺序是 1-2-3,但最后得到的文件的顺序是 1-3-2,除了文件系统出错我想不出别的可能性。

你能肯定你的“写”的顺序是1-2-3吗?你是不是在不同的线程里写文件的?

谢谢唐先生的解答:
我认为我的写的顺序是按照我的意图的, 这一点在command shell 里的运行显示中可以证实。
的确如您说的,我是在不同的线程里写文件,实际上我就是这么做了一下,
#/root/workspace/myprog/x86/o/myprog >testfile
(这个程序是个多进程 程序,而且还调用了两个别的process, )
等程序运行一会之后按q结束, 用editor打开这个testfile,看到的顺序和command shell里的显示就不一致了,是不是我的这种做法有问题呢?
再次谢谢您多次指点。

除非你用Mutex或其它方法使线程按你的预定顺序执行,否则线程的运行顺序是“不可预见”的。在一种情况下的运行顺序,并不保证在另一种情况下也是一样的。