您的位置:首頁技術文章
文章詳情頁

java - 單例服務解決多進程寫文件

瀏覽:136日期:2023-12-11 13:22:45

問題描述

現在需要一個多進程寫文件的程序

如果直接寫則需要保證進程對文件句柄加鎖

現在想通過spring 注冊一個單例的寫入服務

多個程序在寫入文件時,去請求spring 的接口去寫入文件

這樣的方案是否可行?

或者用一個單例的RPC服務?

單例即能保證寫文件的時候是一個實例,避免多線程、多進程同步問題!

問題解答

回答1:

我認為這樣還是不行的,本質上Spring只是幫你管理實例,線程安全的問題還是要自己解決

再者,你說的是多進程寫文件,通過rpc也僅僅是多線程方式吧?

其實本質就是想實現一個線程安全的文件寫接口,單例是OK的,自己的實例當作鎖就行了

回答2:

=_=! 一個多進程的程序?

回答3:

用zookeeper,zookepper一個特點是寫同一個znode只能有一個客戶端(進程)寫入成功,就用這個客戶端寫文件,或者利用數據庫寫入同一個主鍵只有一個可以插入成功的特點

標簽: java
相關文章:
国产综合久久一区二区三区