首页  >  问答  >  正文

java - 单例服务解决多进程写文件

现在需要一个多进程写文件的程序

如果直接写则需要保证进程对文件句柄加锁

现在想通过spring 注册一个单例的写入服务

多个程序在写入文件时,去请求spring 的接口去写入文件

这样的方案是否可行?

或者用一个单例的RPC服务?

单例即能保证写文件的时候是一个实例,避免多线程、多进程同步问题!

天蓬老师天蓬老师2599 天前863

全部回复(3)我来回复

  • ringa_lee

    ringa_lee2017-05-17 10:03:08

    我认为这样还是不行的,本质上Spring只是帮你管理实例,线程安全的问题还是要自己解决

    再者,你说的是多进程写文件,通过rpc也仅仅是多线程方式吧?

    其实本质就是想实现一个线程安全的文件写接口,单例是OK的,自己的实例当作锁就行了

    回复
    0
  • 滿天的星座

    滿天的星座2017-05-17 10:03:08

    =_=! 一个多进程的程序?

    回复
    0
  • 習慣沉默

    習慣沉默2017-05-17 10:03:08

    用zookeeper,zookepper一个特点是写同一个znode只能有一个客户端(进程)写入成功,就用这个客户端写文件,或者利用数据库写入同一个主键只有一个可以插入成功的特点

    回复
    0
  • 取消回复