关于多线程操作同一文件,数据同步的有关问题

关于多线程操作同一文件,数据同步的问题!
多个线程同时操作一个文件,为了保证文件内容有效,请问要怎么做?

当一个线程正在操作文件的时候,如果正在操作的线程设置了禁止共享读、共享写的话,另外一个线程打开文件就会失败,直接放弃了操作文件,这个不是我想要的,我想另外一个线程等待这个线程操作完成后,再继续操作。

另外还有,文件有几十个,只是有可能会出现多个线程操作同一个文件的现象。

请问这种情况用临界区可以做到吗?

------解决方案--------------------
用临界区可以
------解决方案--------------------
文件映射