同时存在n个线程(n>5),需要写入或者读取一个名为test.txt的文件

同时存在n个线程(n>5),需要写入或者读取一个名为test.txt的文件,有两个要求: 当一个线程正在写入数据时,其他线程不能写,也不能读。 当一个线程正在读入数据时,其他线程不能写,但能够读。 分析: 不能让两个或两个以上线程同时写入数据 不能让一个线程在写,同时有别的线程在读取 结论: 任一线程要对资源进行读写操作前必须申请锁。根据操作的不同,分为read锁和write锁,操作完成之后应释放相应的锁。 一个线程申请read锁的成功条件为:当前没有活动的写入线程。 一个线程申请write锁的成功条件是:当前没有任何正在读写test.txt文件的线程。专业程序代写c++程序代写
原文地址:https://www.cnblogs.com/java20130723/p/3211251.html