Heim  >  Fragen und Antworten  >  Hauptteil

java – Singleton-Dienst löst Multiprozess-Schreibdateien

Jetzt brauchen wir ein Programm zum Schreiben von Dateien mit mehreren Prozessen

Wenn Sie direkt schreiben, müssen Sie sicherstellen, dass der Prozess das Dateihandle sperrt

Jetzt möchte ich bis zum Frühjahr einen Singleton-Schreibdienst anmelden

Wenn mehrere Programme Dateien schreiben, fordern sie die Spring-Schnittstelle zum Schreiben von Dateien an

Ist diese Lösung machbar?

Oder einen Singleton-RPC-Dienst verwenden?

Eine einzelne Instanz kann sicherstellen, dass es sich beim Schreiben einer Datei um eine Instanz handelt, wodurch Multithread- und Multiprozess-Synchronisierungsprobleme vermieden werden!

天蓬老师天蓬老师2691 Tage vor935

Antworte allen(3)Ich werde antworten

  • ringa_lee

    ringa_lee2017-05-17 10:03:08

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

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

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

    Antwort
    0
  • 滿天的星座

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

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

    Antwort
    0
  • 習慣沉默

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

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

    Antwort
    0
  • StornierenAntwort