A filelock provides a synchronisation mechanism between different instances of your application, similar to a thread lock. It can be used to signalize that files, directories or other resources are currently used or manipulated (Think of a sync.lock file). Only the existence of the lockfile is watched for this purpose. The file itself can not be written and is always empty.