同时存在n个线程(n>5),需要写入或者读取一个名为test.txt的文件,有两个要求:
当一个线程正在写入数据时,其他线程不能写,也不能读。
当一个线程正在读入数据时,其他线程不能写,但能够读。
分析:
不能让两个或两个以上线程同时写入数据
不能让一个线程在写,同时有别的线程在读取
结论:
任一线程要对资源进行读写操作前必须申请锁。根据操作的不同,分为read锁和write锁,操作完成之后应释放相应的锁。
一个线程申请read锁的成功条件为:当前没有活动的写入线程。
一个线程申请write锁的成功条件是:当前没有任何正在读写test.txt文件的线程。求代码,或者一个代码流程,我感觉只要读写锁就行了,没有编译成功!!C#多线程代码
当一个线程正在写入数据时,其他线程不能写,也不能读。
当一个线程正在读入数据时,其他线程不能写,但能够读。
分析:
不能让两个或两个以上线程同时写入数据
不能让一个线程在写,同时有别的线程在读取
结论:
任一线程要对资源进行读写操作前必须申请锁。根据操作的不同,分为read锁和write锁,操作完成之后应释放相应的锁。
一个线程申请read锁的成功条件为:当前没有活动的写入线程。
一个线程申请write锁的成功条件是:当前没有任何正在读写test.txt文件的线程。求代码,或者一个代码流程,我感觉只要读写锁就行了,没有编译成功!!C#多线程代码
解决方案 »
- 关于使用Decorator模式的效率问题。
- 水晶报表中如何制作类似于多个详细资料的效果(附图)
- 几个简单的C#问题,进来拿分
- exec master..xp_cmdshell 'bcp.....' 在C# Winform程序中怎样用??????
- C#如何检查U盘真实容量?
- 数组中的可能组合
- 谁能告诉我dlzhangln(我要飞得更高)中括号里的昵称"我要飞得更高"怎么改
- 两表联合查询的时候用RowFilter,出错提示:索引0处没有值
- 装完Visual Studio, 发现有一个.net compact framework这个到底有什么用?
- 好多好东东下载的啊!不去可惜了!
- winfron json 取值 《急》
- 怎么把这两句代码改成简洁的一句代码?类型转换
应该找不到完全和你需求一样的示例代码的,你可以学习下自己实现试试的
http://support.microsoft.com/kb/816161/zh-cn