并发修改文件时,文件加锁疑问? 急~~
最近在做的项目中,有涉及到并发操作图片文件的场景,有几点疑问需要大神指点~~
场景描述:
现需开发一个用户上传头像的功能,用户可以通过网站设置头像(上传头像文件),也可以通过手机客户端
来设置头像(上传头像图片),两种渠道上传的头像图片均保存到同一个文件userImage.jpg中。当网站和
手机端两个渠道同时并发设置头像时,便出现了并发修改(写入)userImage.jpg头像文件的场景,针对此
种场景,我有如下几点疑问:
1、此种场景下,是否需要先给文件加锁(独占锁),再进行写入操作呢?
2、在准备修改头像图片文件的之前,可能已经存在多个线程正在读取头像图片文件,此时,读取图片文件是否也
需要加锁(共享锁)以阻止其他线程获取独占锁进行写入操作呢?
望各位大神给小弟指点一二,不甚感激,谢谢啊~~~~~~
另外,可以的话,麻烦大神给详细解释一下java中文件的锁机制,谢谢~~~