文章詳情頁(yè)
java - 單例服務(wù)解決多進(jìn)程寫文件
瀏覽:122日期:2023-12-11 13:22:45
問題描述
現(xiàn)在需要一個(gè)多進(jìn)程寫文件的程序
如果直接寫則需要保證進(jìn)程對(duì)文件句柄加鎖
現(xiàn)在想通過spring 注冊(cè)一個(gè)單例的寫入服務(wù)
多個(gè)程序在寫入文件時(shí),去請(qǐng)求spring 的接口去寫入文件
這樣的方案是否可行?
或者用一個(gè)單例的RPC服務(wù)?
單例即能保證寫文件的時(shí)候是一個(gè)實(shí)例,避免多線程、多進(jìn)程同步問題!
問題解答
回答1:我認(rèn)為這樣還是不行的,本質(zhì)上Spring只是幫你管理實(shí)例,線程安全的問題還是要自己解決
再者,你說的是多進(jìn)程寫文件,通過rpc也僅僅是多線程方式吧?
其實(shí)本質(zhì)就是想實(shí)現(xiàn)一個(gè)線程安全的文件寫接口,單例是OK的,自己的實(shí)例當(dāng)作鎖就行了
回答2:=_=! 一個(gè)多進(jìn)程的程序?
回答3:用zookeeper,zookepper一個(gè)特點(diǎn)是寫同一個(gè)znode只能有一個(gè)客戶端(進(jìn)程)寫入成功,就用這個(gè)客戶端寫文件,或者利用數(shù)據(jù)庫(kù)寫入同一個(gè)主鍵只有一個(gè)可以插入成功的特點(diǎn)
標(biāo)簽:
java
相關(guān)文章:
1. java - 新手做一個(gè)安卓視頻播放器,想實(shí)現(xiàn)一個(gè)進(jìn)度條,按鈕那種在視頻下方懸浮的功能,不知道思路!2. 想找個(gè)php大神仿個(gè)網(wǎng)站。3. css3 - Typecho 后臺(tái)部分表單按鈕在 Chrome 下出現(xiàn)靈異動(dòng)畫問題,求解決4. javascript - 怎樣限制同一個(gè)瀏覽器不能登錄兩個(gè)賬號(hào)5. java - android代碼重構(gòu):如何把a(bǔ)pp設(shè)置里的頭像UI做成通用的?6. javascript - jquery怎么給select option一個(gè)點(diǎn)擊時(shí)觸發(fā)的事件,如圖 如果選擇自定義觸發(fā)一個(gè)時(shí)間?7. nginx配置server模塊的問題8. javascript - angular和jquery都用到了$符號(hào),一起用會(huì)不會(huì)沖突?9. 如何將行內(nèi)塊元素的內(nèi)容垂直水平兩個(gè)方向居中?10. mysql優(yōu)化 - 關(guān)于mysql分區(qū)
排行榜

熱門標(biāo)簽