文件名是约定好的, 会先读取一个配置方件(这个是约定的)
配置文件约定写出的文件名
即使有多个实例跑的话, 也是会有多个文件夹的,log都生成在运行目录,这个不会冲突。
主要问题是做为producer的是emulator, 我需要它跑完就尽快退出,而不是在这边等consumer。
实际上如果不是因为这个需求,我就在producer里把数据直接生成为另一个工具需要的格式, 根本不需要做producer-consumer这种方式了。
我的一个小例子, 通过让producer写成binary的文件(不做格式化),可以让producer侧从原来的20 sec, 减少到12 sec左右。
而原来的20 sec中有12 sec左右都是C侧在格式化和写磁盘, 硬件emulator真正运行的时间很短。 当case变大后, 一个10分钟的case(无C侧写), 变会变成2个多小时
【 在 jimmycmh 的大作中提到: 】
: 这些都不是理由吧,用文件crash时也要清理旧文件,也要进程间约定文件名,没有比共享内存或管道更简单
: 回到你这个问题,应该是因为没有flush到磁盘吧,操作系统按页落盘,可能某条记录跨页了,主动flush一下
:
--
FROM 64.207.220.*