C#怎样判断文件读写状态 我现在的情况是 多人多线程读写某一个文件.读应该可以多人同时读,但是不能同时多人写该文件.我希望加个bool值来保证写该文件时,不允许其他人读和写 写完后,才让其他人读写.但是我怎么判断该文件目前是正在读还是正在写呢. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我现在的情况是 多人多线程读写某一个文件.读应该可以多人同时读,但是不能同时多人写该文件.我希望加个bool值来保证写该文件时,不允许其他人读和写 写完后,才让其他人读写.但是我怎么判断该文件目前是正在读还是正在写呢.主要是某人写该文件时,如果有人读或者写 会报错. 可以使用单件模式啊,将读与写分别划分为两个类read和write,如下:class reader{ static boolean IsWriterwriting=false; private read() { } static public GetReader() { if(Iswriting) { return new read(); } else { return null; } } static public SetWriting(boolean temp) { IsWriterwriting=temp; }}class writer{ static boolean Iswriting=false; private writer() { } static public GetWriter() { if(Iswriting) { return null; } else { Iswriting=!Iswriting; reader。SetWriting(Iswriting); return new writer(); } } public Dispose() { Iswriting=!Iswriting; reader。SetWriting(Iswriting); }}PS:使用Iswriting创建唯一个写实例,使用IsWriterwriting判断能否创建读实例进行读操作 如果一个WPF程序使用了COM组件 那么发布的时候需要怎样呢 【读取XML】读取带命名空间的XML 在firefox中如何把enter键转化为tab键 关于SQL添加的一个简单的问题 关于Setting文件的设置. 怎样使的文本文件里的数据导入数据库 为什么显示的是1而不是walker gridcontrol里面如何取的数据? 怎么可以在局域网内根据IP得到网卡MAC值? webQQ<Ecall>测试 ,一次注册,多站点漫游 ,抢靓号啦 !! Report Viewer 需点击View Report两次才能显示内容?? 有两个网络连接时,在.net中怎么自由选择?
class reader
{
static boolean IsWriterwriting=false;
private read()
{
}
static public GetReader()
{
if(Iswriting)
{
return new read();
}
else
{
return null;
}
}
static public SetWriting(boolean temp)
{
IsWriterwriting=temp;
}
}
class writer
{
static boolean Iswriting=false;
private writer()
{
}
static public GetWriter()
{
if(Iswriting)
{
return null;
}
else
{
Iswriting=!Iswriting;
reader。SetWriting(Iswriting);
return new writer();
}
}
public Dispose()
{
Iswriting=!Iswriting;
reader。SetWriting(Iswriting);
}
}
PS:使用Iswriting创建唯一个写实例,使用IsWriterwriting判断能否创建读实例进行读操作