If you don't use the --lock-tables parameter then the database will not be locked while the backup is running. Any updates in progress while the backup is being made have the potential to cause problems with only part of an update being recorded in the backup.
Provided all the tables support transaction processing (eg. you only use innoDB tables) then you can apply a --single-transaction flag to the backup and it will generate a checkpoint prior to starting the backup and only backup to the checkpoint. Any updates that occur while the backup is running will be after the checkpoint and not backed up.