File lock makes sure that you lock for other processes as well and so I believe it to be a safer method.  I can look in to using a mutex, but I'm not sure it would be as safe