文章詳情頁
java - 單例服務(wù)解決多進程寫文件
瀏覽:152日期:2023-12-11 13:22:45
問題描述
現(xiàn)在需要一個多進程寫文件的程序
如果直接寫則需要保證進程對文件句柄加鎖
現(xiàn)在想通過spring 注冊一個單例的寫入服務(wù)
多個程序在寫入文件時,去請求spring 的接口去寫入文件
這樣的方案是否可行?
或者用一個單例的RPC服務(wù)?
單例即能保證寫文件的時候是一個實例,避免多線程、多進程同步問題!
問題解答
回答1:我認為這樣還是不行的,本質(zhì)上Spring只是幫你管理實例,線程安全的問題還是要自己解決
再者,你說的是多進程寫文件,通過rpc也僅僅是多線程方式吧?
其實本質(zhì)就是想實現(xiàn)一個線程安全的文件寫接口,單例是OK的,自己的實例當作鎖就行了
回答2:=_=! 一個多進程的程序?
回答3:用zookeeper,zookepper一個特點是寫同一個znode只能有一個客戶端(進程)寫入成功,就用這個客戶端寫文件,或者利用數(shù)據(jù)庫寫入同一個主鍵只有一個可以插入成功的特點
標簽:
java
相關(guān)文章:
1. 哭遼 求大佬解答 控制器的join方法怎么轉(zhuǎn)模型方法2. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現(xiàn)存在即更新應(yīng)該使用哪個標簽?3. Navicat for mysql 中以json格式儲存的數(shù)據(jù)存在大量反斜杠,如何去除?4. mysql - 表名稱前綴到底有啥用?5. 編輯成功不顯示彈窗6. mysql - 怎么生成這個sql表?7. sql語句 - 如何在mysql中批量添加用戶?8. 怎么php怎么通過數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。9. mysql - 數(shù)據(jù)庫表中,兩個表互為外鍵參考如何解決10. mysql儲存json錯誤
排行榜

熱門標簽