多进程写文件的三种方式

来源:互联网 发布:编程数学要求高吗 编辑:程序博客网 时间:2024/04/30 20:11

      多进程写log:

      (1)通过文件加锁的方式,在一个进程访问的时候将文件加锁,处理完了再关闭,不过这种方式会造成文件大频繁操作,导致性能比较低(磁盘慢)。

                另外对于这种方式,有个小的优化就是,可以每个进程有一个内存区域,等到内存区域满了之后再存储,不过可能会造成中间如果出现问题,会导致信息不能够记录(开缓存);

       (2)通过信号灯或者令牌的方式,当一个进程活的信号灯的时候或者令牌的时候可以使用,或者加互斥,每个进程使用统一的一个互斥量,如果存在则证明有文件在读写,其他进程需要等待。

        (3)通过消息的方式,有一个主线程维护一个队列,其他进程在处理log时,与这个主进程通信,将log信息发给主进程,主进程从队列中取出内容进行写入操作,当然,这里,主进程最好也有一个内存区域,当信息满时在写入文件。当然如果觉得消息队列不好处理,也可以使用windows自带的消息对列,进行处理。

0 0
原创粉丝点击