文章详情页
java - 单例服务解决多进程写文件
问题描述
现在需要一个多进程写文件的程序
如果直接写则需要保证进程对文件句柄加锁
现在想通过spring 注册一个单例的写入服务
多个程序在写入文件时,去请求spring 的接口去写入文件
这样的方案是否可行?
或者用一个单例的RPC服务?
单例即能保证写文件的时候是一个实例,避免多线程、多进程同步问题!
问题解答
回答1:我认为这样还是不行的,本质上Spring只是帮你管理实例,线程安全的问题还是要自己解决
再者,你说的是多进程写文件,通过rpc也仅仅是多线程方式吧?
其实本质就是想实现一个线程安全的文件写接口,单例是OK的,自己的实例当作锁就行了
回答2:=_=! 一个多进程的程序?
回答3:用zookeeper,zookepper一个特点是写同一个znode只能有一个客户端(进程)写入成功,就用这个客户端写文件,或者利用数据库写入同一个主键只有一个可以插入成功的特点
标签:
java
相关文章:
1. atom编译器 如何格式化前端代码文件?2. javascript - webpack热加载配置不生效3. css3 - 我的css用less写的,eclipse的jsp文件要修改css很麻烦,怎么解决?4. android - 新建项目卡在Gradle:Resolvedependencies’:app:_debugCompile’5. angular.js - ng-repeat的数据排序,我用了orderBy: d.supportNum为什么失效?6. python - Pycharm调试代码进行列表遍历时,如何直接赋值指定元素7. javascript - 关于在angularjs的select中遇到的问题!!8. android - NavigationView 的侧滑菜单中如何保存新增项(通过程序添加)9. android - 使用listview加载不同item,数据填充错误。10. python - 基于scrapy-redis的分布式爬虫运行的时候不能正常运行 遇到的问题如下截图所示
排行榜