Redian新闻
>
如何同步多个程序同时读取一个文件
avatar
如何同步多个程序同时读取一个文件# DotNet - 窗口里的风景
b*n
1
有一个文件course.txt,只需要从里面read,没有write
web-based的asp.net 会有多个user来读取那个文件
每次读一行
我现在想保证source.txt的里面的每一行只被读取一次
哪个user先读,哪个user后读,不所谓
只要保证多个user把这个文件读完,source.txt的每行只被一个user读取就可以
不知道这种问题由简单的方法实现吗?
简单的singleton可以吗?
谢谢
avatar
k*e
2
just lock it before read.

【在 b*********n 的大作中提到】
: 有一个文件course.txt,只需要从里面read,没有write
: web-based的asp.net 会有多个user来读取那个文件
: 每次读一行
: 我现在想保证source.txt的里面的每一行只被读取一次
: 哪个user先读,哪个user后读,不所谓
: 只要保证多个user把这个文件读完,source.txt的每行只被一个user读取就可以
: 不知道这种问题由简单的方法实现吗?
: 简单的singleton可以吗?
: 谢谢

avatar
l*s
3
不很明白你问什么。
如果是说任何用户只读没有被其他用户读过的下一行。
设置一个exclusive write的行数变量就行了。
用户读文件时根据该变量去当前行数,然后更新行数 。

【在 b*********n 的大作中提到】
: 有一个文件course.txt,只需要从里面read,没有write
: web-based的asp.net 会有多个user来读取那个文件
: 每次读一行
: 我现在想保证source.txt的里面的每一行只被读取一次
: 哪个user先读,哪个user后读,不所谓
: 只要保证多个user把这个文件读完,source.txt的每行只被一个user读取就可以
: 不知道这种问题由简单的方法实现吗?
: 简单的singleton可以吗?
: 谢谢

avatar
p*l
4
It looks like a PV operation can solve this.

【在 b*********n 的大作中提到】
: 有一个文件course.txt,只需要从里面read,没有write
: web-based的asp.net 会有多个user来读取那个文件
: 每次读一行
: 我现在想保证source.txt的里面的每一行只被读取一次
: 哪个user先读,哪个user后读,不所谓
: 只要保证多个user把这个文件读完,source.txt的每行只被一个user读取就可以
: 不知道这种问题由简单的方法实现吗?
: 简单的singleton可以吗?
: 谢谢

avatar
b*n
5
有一个文件course.txt,只需要从里面read,没有write
web-based的asp.net 会有多个user来读取那个文件
每次读一行
我现在想保证source.txt的里面的每一行只被读取一次
哪个user先读,哪个user后读,不所谓
只要保证多个user把这个文件读完,source.txt的每行只被一个user读取就可以
不知道这种问题由简单的方法实现吗?
简单的singleton可以吗?
谢谢
avatar
k*e
6
just lock it before read.

【在 b*********n 的大作中提到】
: 有一个文件course.txt,只需要从里面read,没有write
: web-based的asp.net 会有多个user来读取那个文件
: 每次读一行
: 我现在想保证source.txt的里面的每一行只被读取一次
: 哪个user先读,哪个user后读,不所谓
: 只要保证多个user把这个文件读完,source.txt的每行只被一个user读取就可以
: 不知道这种问题由简单的方法实现吗?
: 简单的singleton可以吗?
: 谢谢

avatar
l*s
7
不很明白你问什么。
如果是说任何用户只读没有被其他用户读过的下一行。
设置一个exclusive write的行数变量就行了。
用户读文件时根据该变量去当前行数,然后更新行数 。

【在 b*********n 的大作中提到】
: 有一个文件course.txt,只需要从里面read,没有write
: web-based的asp.net 会有多个user来读取那个文件
: 每次读一行
: 我现在想保证source.txt的里面的每一行只被读取一次
: 哪个user先读,哪个user后读,不所谓
: 只要保证多个user把这个文件读完,source.txt的每行只被一个user读取就可以
: 不知道这种问题由简单的方法实现吗?
: 简单的singleton可以吗?
: 谢谢

avatar
p*l
8
It looks like a PV operation can solve this.

【在 b*********n 的大作中提到】
: 有一个文件course.txt,只需要从里面read,没有write
: web-based的asp.net 会有多个user来读取那个文件
: 每次读一行
: 我现在想保证source.txt的里面的每一行只被读取一次
: 哪个user先读,哪个user后读,不所谓
: 只要保证多个user把这个文件读完,source.txt的每行只被一个user读取就可以
: 不知道这种问题由简单的方法实现吗?
: 简单的singleton可以吗?
: 谢谢

avatar
A*n
9
multi threading, I think
avatar
k*n
10
re这个,其它的回复如果能用的话必须在lock的基础上

【在 k***e 的大作中提到】
: just lock it before read.
avatar
w*r
11
文件不大的话,还不如load到内存,其他所有查询都在内存操作简单呢。
avatar
A*n
12
multi threading, I think
avatar
k*n
13
re这个,其它的回复如果能用的话必须在lock的基础上

【在 k***e 的大作中提到】
: just lock it before read.
avatar
w*r
14
文件不大的话,还不如load到内存,其他所有查询都在内存操作简单呢。
avatar
k*n
15
嗯,又看到这个帖子,突然发现这不就是message queue的典型应用吗。
全部放到queue里,轮流去取
avatar
c*e
16
文件放内存,用List,ArrayList,每行是list的一个元素。

【在 b*********n 的大作中提到】
: 有一个文件course.txt,只需要从里面read,没有write
: web-based的asp.net 会有多个user来读取那个文件
: 每次读一行
: 我现在想保证source.txt的里面的每一行只被读取一次
: 哪个user先读,哪个user后读,不所谓
: 只要保证多个user把这个文件读完,source.txt的每行只被一个user读取就可以
: 不知道这种问题由简单的方法实现吗?
: 简单的singleton可以吗?
: 谢谢

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。