国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java - 單例服務(wù)解決多進(jìn)程寫文件

瀏覽:184日期: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)文章:
主站蜘蛛池模板: 时尚| 铅山县| 炎陵县| 且末县| 临城县| 威信县| 称多县| 旌德县| 台中县| 巴塘县| 江口县| 卫辉市| 山东省| 达拉特旗| 赤城县| 如东县| 横山县| 广宁县| 洛浦县| 开平市| 上蔡县| 太原市| 阳原县| 新竹市| 玛曲县| 三江| 宜昌市| 永济市| 通江县| 南昌市| 清涧县| 莒南县| 宿州市| 长顺县| 东乡族自治县| 巴林左旗| 鄢陵县| 霞浦县| 谢通门县| 清远市| 陇南市|